本地大模型编程实战(27)初探langgraph的流式输出

对于 LLM(大语言模型),流式传输已成为一种越来越受欢迎的功能。其理念是在 LLM 生成令牌时就快速返回,而不是等待创建完整响应后再返回全部内容。 对于简单的场景,流式传输实际上非常容易实现,但当涉及到智能体之类的应用时,它会变得复杂,这些智能体有自己的运行逻辑,可能会阻止我们尝试进行流式传输。 本文将探讨 langchain 的流式输出,后面将实现智能体最终结果的流式输出。 本次演练将全部使用 qwen2.5:7b 开源大模型。 ...

二月 27, 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 分钟 · 火云

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

本地大模型编程实战(15)可以调用两个工具的智能体Agent(2)

在上一篇文章中,我们实践了如何使用 langchain 创建一个简单的 ReAct Agent(智能体),这次我们升级一下玩法:实现一个可以调用两个 工具 的智能体。 其中一个工具用户查询天气预报,另外一个工具用来查询知识库,实际上该工具实现了 RAG(Retrieval Augmented Generation,检索增强生成)。 此次我们使用 qwen2.5, llama3.1 和 deepseek 。感觉在处理中文方面,感觉 qwen2.5 比 llama3.1 要好一些。 ...

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