
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
② ConversationBufferWindowMemory:缓冲窗口记忆,通过设定 k 值,只保留一定数量(2*k)的对话信息作为历史。① ConversationBufferMemory:缓冲记忆,最简单,最数据结构和提取算法不做任何处理,将所有对话信息全部存储作为记忆。使用 LangChain 实现一个案例,让 LLM 应用拥有 2 轮的对话记忆,超过 2 轮的记忆全部遗忘。("syst
FileChatMessageHistory 会将对话历史存储到本地的文件中,可以使用这个记忆组件结合原生的 OpenAI SDK 来实现在命令行界面实现带有记忆功能的对话功能,并且关闭某次对话后,下次运行代码,读取到对应的文件时,仍然可以记忆之前对话的内容。可以看到,一个记忆类是由 历史消息的存储 与 记忆的处理逻辑 两个部分组成的,在 LangChain 中,也是类似的思路。将历史信息代码进行
文章摘要:本文探讨了函数调用中的错误处理策略以提升程序健壮性。首先演示了使用try/except捕获工具错误的方法,通过将错误信息返回给LLM实现参数自动补全。其次介绍了两种进阶处理方案:1)模型回退策略,在出错时切换到更强大的模型;2)携带错误信息的重试机制,让LLM根据错误反馈自我纠正。文中提供了完整的代码示例,展示了如何实现这些错误处理技术,特别强调了在工具内部捕获错误并返回可读信息的重要性

本文介绍了如何在LangChain中对接自定义向量数据库。由于向量数据库发展迅速且各具特点,LangChain无法全部集成,因此需要自定义实现。实现方式有两种:继承现有数据库类进行扩展,或继承VectorStore基类对接新数据库。后者需实现三个核心方法:add_texts(添加数据)、similarity_search(相似性搜索)和from_texts(构建数据库)。文章提供了一个基于内存的欧
摘要:文章介绍了LangGraph中子图结构的设计与应用,通过创建多图结构实现多智能体协作。以"营销智能体"为例,展示了如何并行生成直播带货脚本和小红书推广文案的技术实现。文中详细说明了状态管理、归纳函数定义及代码实现过程,并比较了单图与多图结构的优劣,指出多图结构更利于功能扩展和状态隔离。最后给出了完整的Python代码示例和输出结果,演示了两个智能体协同工作的效果。

本文探讨了LLM应用开发中组件嵌套调用的优化方法。首先指出多组件invoke嵌套的三大缺陷:可维护性差、调试困难、扩展性受限。随后提出两种解决方案:1)自定义Chain类,通过平级调用序列组件;2)利用LangChain的Runnable协议和LCEL表达式(|运算符),实现更简洁的链式调用。文章详细展示了两种方案的具体实现,并指出Runnable协议底层同样采用顺序执行策略,但提供了更丰富的标准

本文解析了LangChain中AgentExecutor的核心运行机制,其通过循环执行工具调用和观察反馈实现智能体功能。作者指出传统Agent组件存在循环步骤单一、多Agent协作困难、扩展性差等缺陷,并介绍了LangChain通过LCEL表达式和LangGraph的改进方案,使复杂Agent工作流的开发变得更加简单可控。最后强调在简单场景下传统Agent仍具参考价值,但复杂应用需结合LangGr

本文介绍了LangChain中Agent智能体的核心概念与实现方法。Agent通过五个步骤(输入理解、计划定制、工具调用、结果整合、反馈循环)处理复杂任务,特别适用于工具使用顺序不确定的场景。重点讲解了ReACT架构(推理+行动)的实现,通过示例展示了如何创建带有谷歌搜索功能的Agent。同时指出了ReACT的缺陷:对大语言模型输出格式的强依赖性,当输出不符合预期格式(如缺少FinalAnswer

文章摘要: 本文介绍了LangGraph中的检查点(Checkpoint)功能及其应用。检查点类似于游戏存档点,用于记录程序运行状态,支持回溯和恢复。在LangGraph中,检查点与线程ID绑定,实现多线程对话的独立状态管理。文章展示了如何通过MemorySaver实现记忆功能,并介绍了Postgres、MongoDB等持久化检查点的使用方法。最后指出自定义检查点实现较复杂,建议后续在实际项目中详

本文介绍了LangGraph中预构建智能体的使用方法和核心组件。主要内容包括:1)通过预构建函数快速创建ReACT智能体和工具调用智能体;2)展示了完整实现示例,包括工具定义、模型创建和智能体调用流程;3)详细解析了LangGraph内置的高频组件,如MessagesState、ToolNode、ValidationNode和InjectedState的功能与使用方式。这些预构建组件能显著简化开发







