使用GraphRAG+LangChain+Ollama:LLaMa 3.1跑通知识图谱与向量数据库集成(Neo4j)

在本地运行和配置Ollama以使用LangChain与LLaMA2模型 在AI开发中,运行大型语言模型(Large Language Models,LLMs)通常需要高效的硬件资源和精确的配置。Ollama提供了一个解决方案,通过将模型权重、配置和数据打包成一个单一的包——Modelfile,来优化这些资源的使用和配置细节。本文将介绍如何在本地环境中使用Ollama与LangChain配合运行开源的LLaMA2模型。 阅读详情
AI摘要

本文介绍了LLM大模型学习资源,包括经典书籍、报告合集、视频和开源教程,还给出学习路线。同时展示使用LLama 3.1执行GraphRAG操作,结合LangChain、Ollama和Neo4j数据库,详细阐述知识图谱与向量数据库集成架构、代码实现及检索增强生成过程。

我将向你展示如何使用 LLama 3.1(一个本地运行的模型)来执行GraphRAG操作,总共就50号代码。

首先,什么是GraphRAG?GraphRAG是一种通过考虑实体和文档之间的关系来执行检索增强生成的方式,关键概念是节点和关系。

▲ 知识图谱与向量数据库集成

知识图谱与向量数据库集成是GraphRAG 架构之一:这种方法利用知识图谱和向量数据库来收集相关信息。知识图谱的构建方式可以捕获向量块之间的关系,包括文档层次结构。知识图谱在从向量搜索中检索到的块附近提供结构化实体信息,从而通过有价值的附加上下文丰富提示。这个丰富的提示被输入到 LLM 中进行处理,然后 LLM 生成响应。最后,生成的答案返回给用户。此架构适用于客户支持、语义搜索和个性化推荐等用例。

节点代表从数据块中提取的实体或概念,例如人、组织、事件或地点。

知识图谱中,每个节点都包含属性和特性,这些属性为实体提供了更多上下文信息。

然后我们定义节点之间的连接关系,这些连接可以包括各种类型的关联,例如层次结构(如父子关系)、时间顺序(如前后关系)或因果关系(因果关系)。

关系还具有描述连接性质和强度的属性。当你有很多文档时,你会得到一个很好的图来描述所有文档之间的关系。

让我们看一个非常简单的例子,在我们的数据集中,节点可以代表像苹果公司和蒂姆·库克这样的实体,而关系则可以描述蒂姆·库克是苹果公司的 CEO。

这种方法非常强大,但一个巨大的缺点是它**计算成本很高,因为你必须从每个文档中提取实体,并使用 LLM 计算关系图。**这就是为什么使用像 LLaMa 3.1 这样本地运行的模型来采用这种方法非常棒。

保姆级教程开始

在本文中,我们将结合使用LangChain、LLama 和 Ollama ,以及 Neo4j 作为图数据库。我们将创建一个关于一个拥有多家餐厅的大型意大利家庭的信息图,所以这里有很多关系需要建模。

先利用Ollama拉取llama3.1 8b模型:

所有代码的链接我放在文末。。。

打开代码文件,来到VS Code 中,你可以在左边看到我们将使用的多个文件。

配置运行Neo4j数据库

在进入代码之前,我们将设置 Neo4j。我为你创建了一个 Docker Compose 文件。所以我们将使用 neo4j 文件夹,里面有一个 jar 文件,这是我们创建图所需的插件。

要创建我们的数据库,只需运行 docker compose up:

这将设置所有内容,并且可以直接使用。可能需要几秒钟,之后你会看到数据库正在运行。

安装依赖

然后我们可以进入 Jupyter Notebook,首先安装所需的包:

我们需要安装 LangChain、OpenAI 的 LangChain、Ollama、LangChain Experimental,因为图解决方案目前在 LangChain 实验包中。

我们还需要安装 Neo4j,以及用于在 Jupyter Notebook 中显示图的 py2neo 和 ipywidgets。

代码语言:javascript

复制

%pip install --upgrade --quiet  langchain langchain-community langchain-openai langchain-ollama langchain-experimental neo4j tiktoken yfiles_jupyter_graphs python-dotenv

导入类

安装完这些包后,我们可以导入所需的类。我们将从 LangChain 中导入多个类,例如 Runnable Pass Through、Chat Prompt Template、Output Parser 等。

我们还导入 Neo4j 的图类,这在 LangChain Community 包的 Graphs 模块中。我们还导入 Chat OpenAI 作为 Ollama 的后备模型。

在 LangChain Experimental 包中,我们有一个 Graph Transformer 模块,我们将从那里导入 LLM Graph Transformer,它利用复杂的提示将数据转换为可以存储在图数据库中的形式。

我们还将导入 Neo4j 的图数据库,不仅作为图数据库使用,还可以作为普通的向量数据库使用。

代码语言:javascript

复制

from langchain_core.runnables import  RunnablePassthrough
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.pydantic_v1 import BaseModel, Field
from langchain_core.output_parsers import StrOutputParser
import os
from langchain_community.graphs import Neo4jGraph
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import ChatOpenAI
from langchain_community.chat_models import ChatOllama
from langchain_experimental.graph_transformers import LLMGraphTransformer
from neo4j import GraphDatabase
from yfiles_jupyter_graphs import GraphWidget
from langchain_community.vectorstores import Neo4jVector
from langchain_openai import OpenAIEmbeddings
from langchain_community.document_loaders import TextLoader
from langchain_community.vectorstores.neo4j_vector import remove_lucene_chars

from dotenv import load_dotenv

load_dotenv()

我们将采用混合方法,既使用图知识,也使用标准的文档搜索方式,即通过嵌入模型来搜索与查询最相似的文档。

我们还将使用 dotenv 包,并在 Jupyter Notebook 中加载环境变量。在 .env 文件中,有一个 OpenAI API 密钥、一个 Neo4j URI、Neo4j 用户名和密码。你可以按原样使用这些信息,但在仓库中,它们将被命名为 .env.example。

下一步是创建与数据库的连接。所以我们实例化 Neo4j 图类,

这将建立与 Neo4j 的连接。

准备dummy_text.txt 数据集

你可以看到它描述了这个意大利家庭的大量信息,包括不同的名字、关系,如 Antonio 的妹妹 Amo、祖母等。这些信息稍后都将在我们的图中呈现。

我们将使用文本加载器将其加载到内存中,

然后使用文本分割器将其分割成多个块,这是标准的方法,以便 LLM 更容易处理信息。

LLM图转换函数创建文档块之间的所有关系

加载后,我们将设置我们的 LLM 图变换器,它负责将文档转换为 Neo4j 可以处理的形式。

基于环境变量 llm_type,目前我没有设置,所以默认是 Ollama。我们将实例化 ChatOllama 或 ChatOpenAI,然后将其传递给 LLM 图变换器的构造函数。

convert_to_graph_documents 方法将创建文档块之间的所有关系。我们传入创建的文档,计算可能需要一些时间,即使是这个很小的例子,也花了我大约 3 分钟时间,所以稍等片刻。

运行结果来了:这是一个图文档,你可以看到我们有一个 nodes 属性,它是一个包含不同节点的列表,具有 ID。我们可以看到 ID 类似于 Micos Family,类型是 Family,然后我们还有更多的节点,如 Love 概念节点、Tradition 等等。

他们之间也有关系,这些关系将被存储在 Neo4j 中。

可视化我们的图

当前我们还没有启动数据库,所以我们需要先运行 add_graph_documents 方法,提供图文档,然后将所有内容存储在 Neo4j 中。这也可能需要几秒钟时间。文档存储到数据库后,我们可以可视化它们。

首先我们要连接到数据库,我们将使用驱动方法,传入我们的 URI(存储在 Neo4j URI 环境变量中),还需要提供用户名和密码进行身份验证,并创建驱动实例。然后我们创建一个新会话,并使用会话的 run 方法对 Neo4j 运行查询。我们将使用这个查询语句:

如果你不熟悉 Neo4j 可能会觉得有点复杂,但它的意思是 Neo4j 应该返回所有通过 mentions 类型的关系连接的节点对,我们想返回 s, r, 和 t。s 是起始节点,r 是结束节点,t 是关系。

我们可以运行这个方法,并实际可视化我们的图:

现在我们可以向下滚动,这里我们可以看到这是我们的文档的完整知识图谱。正如你所看到的,这相当多,我们可以通过滚动来深入了解更多信息。这里我们可以看到一些实体,比如 Petro 是一个人,我们可以看到 Petro 喜欢厨房、喜欢大海,并且是另一个人 Sophia 的家长。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

所以我们可以看到不同的实体通过不同的关系建模,最终你得到了这个非常大的知识图谱。我认为即使是对于我们的小数据集,这也实际上是很多内容。我个人非常喜欢这种图。现在我们来看一下这不仅仅是美观,实际上也很有用。

图的存储做完了,再来一个向量存储

下一步是从 Neo4j 创建一个向量存储,所以我们将使用 Neo4jVector 类,并使用 from_existing_graph 方法,在这里我们只传入嵌入模型,从现有图中计算嵌入。这样我们也可以执行向量搜索,最终我们将把这个向量索引转换成一个检索器,以便有一个标准化的接口。

为图数据库准备实体(Prompt实体识别)

现在我们有一个图数据库,存储了我们的文档,也有了普通的向量存储。现在我们可以执行检索增强生成。由于我们使用图数据库,我们需要从查询中提取实体,以便从图数据库中执行检索步骤。

图数据库需要这种实体,所以我们将创建一个名为 Entities 的自定义模型,继承自 BaseModel,我们希望提取实体,这可以通过提供这个属性 entities 来完成,它是一个字符串列表。这里是 LLM 的描述,所以我们希望提取文本中的所有人、组织和业务实体。

▲ Langchain教程操作有类似

然后我们创建一个 ChatPromptTemplate,系统消息是你正在从文本中提取组织、个人和业务实体。然后我们提供用户输入,并将我们的提示模板传递给 LLM,与结构化输出一起使用,这使用了 Entities 类。我将向你展示其效果。

我们得到了我们的实体链,并可以像这样调用它。我们传入问题 “Who are Nonna and Giovanni Corrado?”,所以我们有两个名字,执行调用方法后,我们可以看到输出是一个字符串列表,只有名字,

这些名字将用于查询图数据库。接下来是在 graph_retriever 函数中调用这个方法。首先从查询中提取实体,然后对 Neo4j 运行查询,我将向你展示最终效果。

我们创建了 graph_rae 函数,传入问题,提取实体,然后查询数据库。

我们问 “Who is Nonna?”,如果运行这个查询,我们可以看到 Nonna 拥有哪些节点和连接。她影响了 Conato,教导了孙子们,影响了新鲜意大利面,影响了 Amico,是家族的女族长。

创建一个混合检索器

然后我们创建一个混合检索器,使用 graph_retriever 和我们的向量存储检索器。我们定义一个函数 full_retriever,在这里设置我们的 graph_retriever 函数,并使用向量检索器,调用其 invoke 方法,获取最相关的文档。我们有了关系图和基于余弦相似度的最相关文档,最终我们将所有文档结合,返回最终数据集。这就是 full_retriever 的作用。

最终链

然后我们创建一个最终链,这是一个普通的 RAG 链,你在几乎所有初学者教程中都会找到这样的链。我们有两个变量,context 和 question,context 是向量存储或其他数据库的输出,question 是我们的问题。所有这些都将发送给 LLM,我们创建一个模板,然后使用 Lang 和表达式语言在这里创建我们的最终链。这将创建一个 runnable_parallel,我将展示其 invoke 方法。

我们只使用一个字符串输入,传递给 full_retriever 函数,保持问题不变,然后将 context 和 question 传递给我们的提示,以填充这些变量。填充这些变量后,我们将所有内容传递给 LLM,并将 LLM 的输出传递给字符串输出解析器。

现在我们可以问 “Who is Nonna Lucia? Did she teach anyone about restaurants or cooking?” 所有关于关系的东西,执行结果:

代码语言:javascript

复制

Generated Query: Nonna~2 AND Lucia~2
'Nonna Lucia is the matriarch of the Caruso family and a culinary mentor. She taught her grandchildren the art of Sicilian cooking, including recipes for Caponata and fresh pasta.'

**我们可以看到答案是 Nonna Lucia 是 Corrado 家族的女族长和烹饪导师。她教导了她的孙子们西西里烹饪的艺术,**这确实是正确的。

这就是如何使用 Neo4j 执行图数据库 RAG。

附件:

以前看过的一个叫PP-Structure文档分析的项目,

信息抽出其中的实体识别。。。

▲ 信息抽取 是自然语言处理中的基础问题,即从自然语言文本中,抽取出特定的事件或事实信息,帮助我们将海量内容自动分类、提取和重构。

程序员为什么要学大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

继科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉优快云大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

​

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

LLM大模型学习路线 ↓

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容:

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容:

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容:

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容:

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉优快云大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

​

LangChain 安装与环境搭建,并调用OpenAI与Ollama本地大模型 如果把大语言模型(LLM)比作一个强大的“智能大脑”,那么LangChain就像是它的“手和脚”——帮助这个大脑连接外部世界,完成更复杂的任务。🌟 LangChain 是什么?LangChain 是一个用于构建智能应用的框架,它让大语言模型(如 ChatGPT、Llama、Claude 等)能够更好地记忆、思考、规划,并与各种外部工具(数据库、API、搜索引擎等)进行交互。🚀 为什么要用 LangChain?单独使用 ChatGPT,你只能进行简单的对话; 阅读详情

相关推荐

【待修改】使用GraphRAG+LangChain+Ollama(LLaMa 3.1)知识图谱与向量数据库集成(Neo4j)

图数据库需要这种实体,所以我们将创建一个名为 Entities 的自定义模型,继承自 BaseModel,我们希望提取实体,这可以通过提供这个属性 entities 来完成,它是一个字符串列表。首先我们要连接到数据库,我们将使用驱动方法,传入我们的 URI(存储在 Neo4j URI 环境变量中),还需要提供用户名和密码进行身份验证,并创建驱动实例。s 是起始节点,r 是结束节点,t 是关系。我们传入创建的文档,计算可能需要一些时间,即使是这个很小的例子,也花了我大约 3 分钟时间,所以稍等片刻。

caoyongsheng的博客 1905

langchain_openai的ChatOpenAI调用ollama多模态模型

ChatOpenAI调用ollama多模态模型

龙尧的博客 3520

GraphRAG实战:用Neo4j构建可追溯、可推理的知识图谱

知识图谱是一种以节点和关系建模现实世界语义结构的技术,其核心价值在于支持精准的关系导航与多跳逻辑推理。相比传统向量检索易出现语义漂移、上下文断裂和关系失焦等问题,图数据库(如Neo4j)通过实体唯一标识、带属性的关系建模及Cypher声明式查询,为大语言模型(LLM)提供结构化、可验证的证据链。这种GraphRAG范式显著提升技术文档问答准确率,降低LLM幻觉风险,并天然适配跨系统知识整合、影响分析、决策溯源等高价值场景。本文聚焦Neo4j与LLM协同落地的关键路径,涵盖图谱构建四步法、Cypher查询优化

weixin_30642869的博客 308

基于ollama,langchain,springboot从零搭建知识库三【解析文档并存储到向量数据库】

安装pgvector,先设置docker镜像源:执行docker compose up -d(老版本的docker是docker-compose up -d)。如下则安装成功:访问登录pgadmin,账号密码在docker-compose中登陆完新增一个serverollama中安装embedding,在ollama官网中搜索,这里的embedding.length表示向量长度,需要记住。

wang_keng的博客 2058

GraphRAG实战指南:用知识图谱解决RAG的关系盲区

知识图谱是表达实体间结构化关系的核心技术,其本质在于建模‘连接’而非‘相似’,这恰好弥补了传统RAG在跨表、多跳、因果类查询中的关系失明缺陷。GraphRAG并非替代RAG,而是通过图谱构建、验证与动态上下文注入,将业务系统中真实存在的外键约束、API调用链和流程依赖显式编码为可检索、可验证的拓扑网络。该技术显著提升LLM在金融风控、零售分析、医疗决策等强逻辑场景下的事实准确性与推理可信度,尤其适用于需回答‘为什么’而非仅‘是什么’的高价值业务问题。

weixin_34072637的博客 423

玩转大语言模型——langchain调用ollama视觉多模态语言模型

视觉多模态语音模型由预训练的多模态编码器、预训练的 LLM 以及连接两者的多模态接口等主要组件构成。将图像信息转换为可被语言模型处理的特征表示。拥有强大的视觉理解能力,能够准确理解图像内容,进行图像描述、视觉问答、图像定位等任务。可以与用户进行多轮交互,根据用户的文本和图像输入生成连贯、准确且有针对性的回答。本篇文章将介绍使用langchain调用ollama视觉多模态语音模型。

艾醒的博客 3266

自然语言处理:第四十四章 使用GraphRAG+LangChain+Ollama:LLaMa 3.1跑通知识图谱与向量数据库集成

图数据库需要这种实体,所以我们将创建一个名为 Entities 的自定义模型,继承自 BaseModel,我们希望提取实体,这可以通过提供这个属性 entities 来完成,它是一个字符串列表。首先我们要连接到数据库,我们将使用驱动方法,传入我们的 URI(存储在 Neo4j URI 环境变量中),还需要提供用户名和密码进行身份验证,并创建驱动实例。s 是起始节点,r 是结束节点,t 是关系。我们传入创建的文档,计算可能需要一些时间,即使是这个很小的例子,也花了我大约 3 分钟时间,所以稍等片刻。

victor_manches的博客 1129

MultiOTP Credential Provider避坑指南:从安装到RDP双因素认证的全流程解析

本文详细解析了MultiOTP Credential Provider从安装到实现RDP双因素认证(MFA)的全流程,重点分享了Docker部署、Active Directory集成及网络级认证(NLA)兼容性等环节的实战避坑经验,旨在帮助运维人员高效、稳定地部署离线双因素认证方案,提升Windows远程桌面安全性。

weixin_29255731的博客 642

本地化部署方案:GraphRAG+LangChain+Ollama 驱动 LLaMa 3.1 集成 Neo4j 实战

传统 RAG(检索增强生成)依赖向量数据库的语义相似度匹配,容易丢失实体间的关联信息。而GraphRAG(图检索增强生成)则通过"节点-关系"的图结构建模数据,将分散的文本块转化为结构化知识网络,让 LLM 能基于实体关联进行推理,输出更具逻辑性的答案。结构化上下文:将"蒂姆·库克""苹果公司"等实体抽象为节点,用"担任CEO"明确关系,形成可解释的知识图谱关联推理能力:支持跨文档挖掘间接关系,例如通过"库克-领导-苹果-收购-特斯拉"的链路回答企业合作问题混合检索优势。

EnjoyEDU的博客 1208

ADS许可证配置全攻略:从破解文件放置到环境变量设置(实测有效版)

本文详细介绍了ADS许可证配置的全流程,包括环境准备、全新安装、破解文件部署和环境变量设置等关键步骤。针对常见的安装和授权问题,提供了实测有效的解决方案,帮助工程师快速完成ADS的配置与优化。

websocket5live的博客 379

资治通鉴:文言文、白话文对照读本

介绍一处可以免费下载资治通鉴的网址,该文献共20卷,排版为左边是文言文,右边是白话文翻译,对照阅读非常方便。下面是1-20卷的链接地址:第一卷:http://www.docin.com/p-9705067.html 第二卷:http://www.docin.com/p-9705979.html 第三卷:http://www.docin.com/p-9709382.html 第四卷:

aiwis的专栏 2548

从头预训练一只迷你 LLaMA 3_llama3 预训练预处理

(全套教程文末领取哈)从大模型系统设计入手,讲解大模型的主要方法;在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;以SD多模态大模型为主,搭建了文生图小程序案例;以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

weixin_42924914的博客 1643

【收藏版】50 行核心代码搞定本地 LLaMa 3.1 GraphRAG 开发!小白也能上手的大模型实战教程

传统 RAG(检索增强生成)依赖向量数据库的语义相似度匹配,容易丢失实体间的关联信息。而GraphRAG(图检索增强生成)则通过"节点-关系"的图结构建模数据,将分散的文本块转化为结构化知识网络,让 LLM 能基于实体关联进行推理,输出更具逻辑性的答案。结构化上下文:将"蒂姆·库克""苹果公司"等实体抽象为节点,用"担任CEO"明确关系,形成可解释的知识图谱关联推理能力:支持跨文档挖掘间接关系,例如通过"库克-领导-苹果-收购-特斯拉"的链路回答企业合作问题混合检索优势。

优快云_430422的博客 780

告别理论!手把手教你用Patran/Nastran搞定机翼颤振分析(附完整模型文件)

本文提供了一份详细的机翼颤振分析实战指南,使用Patran/Nastran软件从零开始构建完整分析模型。涵盖几何建模、网格划分、模态分析到气动弹性耦合的全流程,特别适合航空航天领域工程师学习颤振分析技术。教程包含完整模型文件和实用脚本,帮助读者快速掌握这一关键飞行器设计技能。

weixin_30879169的博客 541

告别Docker Desktop!Colima在Mac上的5分钟极速安装与配置指南(M1芯片实测)

本文详细介绍了如何在Mac(尤其是M1芯片)上快速安装和配置Colima,作为Docker Desktop的免费替代品。通过优化配置和实战指南,帮助开发者提升容器运行效率,减少资源占用,实现丝滑的开发体验。

weixin_28839601的博客 445

本地化图谱增强RAG聊天机器人实战:Langchain+Neo4j+Qwen2.5

知识图谱增强检索(Graph RAG)是一种突破传统向量检索局限的智能问答范式,其核心原理是将非结构化文档转化为实体-关系网络,通过图数据库实现多跳、可解释、高精度的知识导航。相比纯向量RAG易出现的语义漂移与关系盲区,Graph RAG显著提升事实准确率与业务逻辑表达能力,尤其适用于企业内部知识库、客服系统、合规政策解读等强关联、重依据场景。本方案采用Langchain统一调度、Neo4j构建结构化图谱、Qwen2.5-7B量化模型本地推理,兼顾数据安全、响应实时性与工程落地性,真正实现开箱即用的私有化A

weixin_30385925的博客 364

【系统分析师】2025年下半年真题:综合知识-答案及详解(回忆版)

本文摘要包含系统分析师考试相关题目解析,主要涵盖软件工程、数据库、网络协议和项目管理等知识点。内容包括:软件再工程与逆向工程的区别(D);GNU GPL开源协议特性(A);TCP/IP协议分层(A、B);数据库范式判定(A、B);前导图进度管理工具(C);系统规划中的数据类识别方法(B、D);关系代数除运算(C);CMM优化级特征(A);回归测试重要性(C)。这些解析帮助理解核心概念和考试重点。

数据知道的博客 6717

GraphRAG技术解析:知识图谱与大模型的融合实践

知识图谱作为结构化知识表示的重要技术,通过实体关系网络实现语义理解与推理。其核心原理是将非结构化数据转化为节点和边的图结构,利用图算法进行关系挖掘。结合大语言模型后,知识图谱能有效解决传统RAG在实体消歧和多跳推理上的不足,显著提升问答系统的准确性。在金融风控、医疗诊断等需要复杂关系推理的场景中,这种GraphRAG架构展现出独特优势。微软研究院的实验数据显示,当图谱节点超过5000个时,答案准确率比传统方法提升37%。开发者可以通过Neo4j等图数据库与LangChain框架快速实现知识图谱与大模型的协同

weixin_30681121的博客 331

专栏目录:Linux 内存管理子系统的进化——从 MM 到 HMM

专栏梳理了Linux内存管理子系统从经典MM到异构内存管理(HMM)的演进历程。内容分为六大部分:首先介绍经典MM基础,包括虚拟地址空间、页表、VMA等核心机制;其次分析MM通用框架如页表遍历、NUMA迁移等;然后探讨设备内存引入的关键技术,如ZONE_DEVICE和dev_pagemap;接着深入解析HMM核心机制及其与DMA的集成;随后通过多个实际驱动案例展示HMM应用;最后讨论大页支持等进阶主题。专栏采用"经典机制→问题→扩展方案"的三段式结构,帮助开发者理解Linux如何通过HMM实现设备内存管理。

图形/计算GPU的驱动与虚拟化技术分享园地 875

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: AI产品经理转大模型:这本AI赋能:AI重新定义产品经理 书值得一读
下一篇: Fast GraphRAG:一个比 GraphRAG 更快、成本更低、更高效的RAG框架开源了(本地安装 & 测试)
Llama-Turbo
博客等级 码龄4年 9901粉丝 2022原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值