二、LangChain框架简介
LangChain是一个开源框架,用于构建基于大语言模型(LLM)的应用程序。它提供六大核心模块(Model I/O、Retrieval、Memory、Chains、Agents、Callbacks)和开源组件(langchain-core、langchain-community等),支持开发上下文感知的AI应用。其生态系统包括商业产品LangSmith(调试监控)和LangGraph(复杂工作流
LangChain是什么
LangChain 是一个开源框架,用于构建基于大语言模型(LLM)的应用程序。它提供了工具和组件,帮助开发者更轻松地将语言模型与外部数据、工具和记忆上下文结合,创建智能、上下文感知的应用程序。
LangChain 简化了 LLM 应用程序生命周期的每个阶段:
-
开发:使用 LangChain开源的构建模块、组件和第三方集成构建应用程序。 使用LangGraph构建具有一流流式处理和人机协作支持的有状态代理。
-
生产化:使用LangSmith检查、监控和评估构建的链,以便可以持续优化并部署。
-
部署:使用LangGraph Cloud将 LangGraph 应用程序转变为生产就绪的 API 和助手。
LangChain 生态系统组件图
-
LangGraph Cloud:属于商业(COMMERCIAL)产品,提供云端服务支持,便于用户在云端部署基于 LangChain 或 LangGraph 开发的应用程序,可简化部署流程并提供稳定运行环境。
-
Integrations(集成):采用开源(OSS)模式,用于整合各类外部工具、数据源和大语言模型,使开发者能将不同资源与 LangChain 和 LangGraph 结合,拓展功能边界。
-
LangChain:开源(OSS)的用于开发大语言模型驱动应用的框架,提供模块化组件,方便开发者快速构建应用,如聊天机器人、问答系统等。
-
LangGraph:开源(OSS),通过图结构组织语言处理任务,清晰展现任务间的关系和数据流向,适合复杂语言处理流程建模。
-
LangSmith:商业(COMMERCIAL)工具套件,包含调试(Debugging)、交互式测试环境(Playground)、提示词管理(Prompt Management)、注释(Annotation)、测试(Testing)和监控(Monitoring)等功能,用于提升大语言模型应用开发和管理的效率与质量。
具体来说,该框架由以下开源库组成:
langchain-core
: 基础抽象和LangChain表达式 (LCEL)。
langchain-community
: 第三方集成。集成包(例如
langchain-openai
、langchain-anthropic
等):一些集成已进一步拆分为自己的轻量级库,仅依赖于langchain-core
。
langchain
: 组成应用程序认知架构的链、代理和检索策略。
langchain-community:
由社区维护的第三方集成langgraph: 通过将步骤建模为图中的边和节点,构建强大且有状态的多参与者应用程序。与LangChain无缝集成,但也可以单独使用。
langserve: 将langchain链部署为REST API。
langsmith: 一个开发者平台,让您调试、测试、评估和监控LLM应用程序。
LangChain的六个module
LangChain由6个module组成,分别是Model IO、Retrieval、Chains、Memory、Agents和Callbacks。

Model IO:AI应用的核心部分,LangChain与大模型交互的接口。主要的实现手段为:Prompt(输入)、Language model(处理)、Output Pasers(输出)
Retrieval:“检索“——该功能与向量数据密切库相关,是在向量数据库中搜索与问题相关的文档内容。该功能经常被应用于构建一个“私人的知识库”,构建过程更多的是将外部数据存储到知识库中。
Memory:为对话形式的模型存储历史对话记录,在长对话过程中随时将这些历史对话记录重新加载,以保证对话的准确度。
Chains:虽然通过Model IO、Retrieval和Memory这三大模块可以初步完成应用搭建,但是若想实现一个强大且复杂的应用,还是需要将各模块组合起来,这时就可以利用Chains将其连接起来,从而丰富功能。
Foundational LLM:基础大型语言模型,用于文本处理。
Conversational QA:对话式问答,用于处理对话中的问题和答案。
Retrieval QA:检索式问答,用于从文档或数据库中检索信息并回答问题。
Document:文档链,用于处理文档相关任务。
Sequential:顺序链,用于按顺序执行多个任务。
Agents:它可以通过用户的输入,理解用户的意图,返回一个特定的动作类型和参数,从而自主调用相关的工具来满足用户的需求,将应用更加智能化。Agents=LLM(决策)+Memory(记忆)+Tools(执行)。
Callbacks: 回调机制可以调用链路追踪,记录日志,帮助开发者更好的调试LLM模型。就是一个回调函数,这个函数允许我们在LLM的各个阶段使用各种各样的“钩子”,从而达实现日志的记录、监控以及流式传输等功能。
Langchain和LangGraph
-
生态系统的组成部分
LangGraph 是 LangChain 生态系统中的一个扩展库,专注于增强 LangChain 的功能,特别是在复杂工作流和多智能体协作方面。它并非独立框架,而是与 LangChain 的链(Chain)、代理(Agent)等组件无缝集成。 -
互补性功能
LangChain 提供基础模块(如链、工具集成、内存管理),而 LangGraph 在此基础上支持更动态的交互,例如循环、状态管理和多智能体协作,填补了 LangChain 在复杂流程控制上的不足。 -
核心区别
维度
LangChain
LangGraph
架构设计
基于有向无环图(DAG),任务按顺序单向执行
基于图结构,支持循环、回溯和分支逻辑
状态管理
无内置状态管理,依赖链式传递上下文
提供中央状态管理,支持动态更新和持久化
适用场景
顺序明确的简单任务(如数据检索、内容总结)
复杂交互(如多轮对话、多智能体协作)
灵活性
模块化但流程固定
高度灵活,允许自定义节点和条件分支
核心组件
链(Chain)、工具(Tool)、代理(Agent)
状态图(StateGraph)、节点(Node)、边(Edge)
-
应用场景
-
LangChain 适合标准化任务:
-
文档问答、单次 API 调用、简单数据增强。
-
-
LangGraph 适合复杂交互:
-
多智能体协作(如任务分配系统)、动态决策(如游戏 AI)、需循环处理的任务(如持续监控系统)
-
-
-
状态管理
-
LangChain:上下文通过链传递,难以处理需要长期记忆的场景(如多轮对话)。
-
LangGraph:通过
StateGraph
维护全局状态,节点可修改状态并影响后续流程。例如,在客服系统中记录用户历史问题以优化回答。
-
-
架构与流程控制
-
LangChain:通过“链”将多个 LLM 调用或工具按顺序串联,适用于线性任务(如问答系统)。例如,先检索文档再生成回。
-
LangGraph:通过图结构定义工作流,支持循环和条件分支。例如,在对话系统中,根据用户输入动态选择下一步操作,甚至允许人工干预(Human-in-the-loop)。
-
-
-
选择建议
选择 LangChain:若需求为预定义流程(如从 API 获取数据后生成报告),或需要快速集成模块化组件。
选择 LangGraph:若需处理动态交互(如聊天机器人)、多智能体协作,或需要循环和状态管理(如实时数据分析)。
-
典型案例
LangChain:构建一个问答系统,链式调用检索工具和 LLM,生成答案。
LangGraph:实现客服系统,根据用户意图路由到不同专家模块,并在对话中维护上下文。
更多推荐
所有评论(0)