本地大模型编程实战(21)支持多参数检索的RAG(Retrieval Augmented Generation,检索增强生成)(5)

在实现 RAG(Retrieval Augmented Generation,检索增强生成) 系统的时候,在检索(retrieve)知识库时通常一个参数。 本文将演练更复杂一点的情况:通过两个参数进行知识库的检索。为此会在 langgraph链 中增加一个 analyze_query 节点,它用来基于用户问题推理检索的参数。 本次构建的 LangGraph 链结构如下图: 使用 qwen2.5 、 deepseek 以及 llama3.1 做实验,用 shaw/dmeta-embedding-zh 做中文嵌入和检索。 ...

二月 18, 2025 · 3 分钟 · 火云

本地大模型编程实战(20)用langgraph和智能体实现RAG(Retrieval Augmented Generation,检索增强生成)(4)

上一篇文章我们演练了一个 用 langgraph 实现的 RAG(Retrieval Augmented Generation,检索增强生成) 系统。本文将要在此基础上,增加自动记录聊天历史的功能,另外,我们还将使用一个 Agent(智能体) 来实现几乎同样的功能,我们来一起体会一下用 langgraph 和 Agent(智能体) 实现 RAG系统 的区别。 本次构建的 LangGraph 链结构如下图: 如上图,query_or_respond 是一个条件节点,它通过能否根据用户的问题生成 工具调用(tool_calls) ,来判断是否需要检索矢量知识库:如果 工具调用 为空,则直接由大语言模型处理;否则通过 工具调用 调用 tools 进行检索。 实现类似功能的智能体结构如下图: 我们可以直观的发现:用 Agent(智能体) 实现更加简单。 使用 qwen2.5 、 deepseek 以及 llama3.1 做实验,用 shaw/dmeta-embedding-zh 做中文嵌入和检索。 ...

二月 17, 2025 · 4 分钟 · 火云

本地大模型编程实战(19)用langgraph实现RAG(Retrieval Augmented Generation,检索增强生成)(3)

上一篇文章我们演练了一个 用 langgraph 实现的 RAG(Retrieval Augmented Generation,检索增强生成) 系统。本文将要创建的系统将更加智能:如果在知识库中未找到靠谱的文档,则用 LLM(大语言模型) 自身的能力弥补。 另外,检索和生成部分增加了更多的细节控制。本次构建的 LangGraph 链如下图: 如上图,query_or_respond 是一个条件节点,它通过能否根据用户的问题生成 工具调用(tool_calls) ,来判断是否需要检索矢量知识库:如果 工具调用 为空,则直接由大语言模型处理;否则通过 工具调用 调用 tools 进行检索。 使用 qwen2.5 、 deepseek 以及 llama3.1 做实验,用 shaw/dmeta-embedding-zh 做中文嵌入和检索。 ...

二月 16, 2025 · 4 分钟 · 火云

本地大模型编程实战(18)用langgraph实现RAG(Retrieval Augmented Generation,检索增强生成)(2)

本文将使用 langgraph 实现一个简单的 RAG(Retrieval Augmented Generation,检索增强生成) 系统。 使用 qwen2.5 、 deepseek-r1 以及 llama3.1 做实验,用 shaw/dmeta-embedding-zh 做中文嵌入和检索。 ...

二月 15, 2025 · 2 分钟 · 火云