本地大模型编程实战(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 分钟 · 火云

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

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

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

本地大模型编程实战(16)在智能体中自动记录消息历史(3)

本文将基于上一篇文章完善 Agent(智能体) ,主要完善的功能有: 跟踪 Agent(智能体) 的执行过程 记录消息历史 此次我们使用 qwen2.5 做 LLM(大语言模型) 驱动 Agent(智能体) ,使用 shaw/dmeta-embedding-zh 做中文嵌入和检索。 ...

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