LangChain — LLM开发框架

From Systems analysis wiki
Jump to navigation Jump to search

LangChain 是一个开源框架,用于开发使用大型语言模型(LLM)的应用程序。它提供了一套统一的抽象(模型、嵌入、向量存储、链、智能体、记忆、回调)和超过 250 种集成,从而能够快速构建、调试和部署复杂的 LLM 系统,包括聊天机器人、RAG 搜索引擎和智能体解决方案。[1][2]

历史

  • 2022年10月 — 由作者哈里森·蔡斯(Harrison Chase)首次作为开源项目公开发布[3],当时他是 Robust Intelligence 的员工。
  • 2023年4月 — LangChain Inc. 公司成立,在 Sequoia 领投的一轮 2000-2500 万美元的“抢先”投资中获得了超过 2000 万美元的资金,公司估值约为 2 亿美元。此前,还从 Benchmark 获得了 1000 万美元的种子轮融资。
  • 2023年8月 — 发布 LangChain Expression Language (LCEL),这是一种用于构建链的声明式语法。[4]
  • 2023年10月 — 宣布推出 LangServe,这是一个通过 FastAPI 将 LCEL 链部署为生产级 API 的库。[5]
  • 2024–2025年 — 生态系统扩展了 LangSmith(用于追踪、指标和 A/B 测试的平台)和 LangGraph(用于编排多智能体工作流)等服务;其在 GitHub 上的星标数超过了 10 万。

LangChain 的功能

  • 推理链 (Chains)。 LangChain 允许创建一系列步骤,每个步骤执行一个特定任务。这些步骤可以包括与模型交互、处理其输出、搜索额外信息以及其他操作。这种方法可以创建由多个阶段组成的复杂工作流。
  • 智能体 (Agents)。 LangChain 中的智能体是一些程序,它们可以根据情况动态选择行动。例如,智能体可以根据当前上下文和中间输出,决定使用哪种工具(网络搜索、数据库查询、执行计算等)。
  • 工具 (Tools)。 LangChain 包含了与超过 250 个外部工具和服务的集成。这使得模型能够处理各种数据源,如数据库、API、文件管理系统,并通过命令行执行操作。
  • 记忆与上下文 (Memory)。LangChain 支持长期记忆,允许模型在多次交互之间“记住”信息。这对于创建聊天机器人或需要记住用户交互上下文并在后续回答中考虑历史记录的应用程序尤其重要。
  • 检索增强生成 (Retrieval-Augmented Generation, RAG)。在 RAG 方法框架下,LangChain 不仅使用文本生成,还从真实来源(例如数据库或网站)检索额外信息。这使得模型能够基于最新数据给出更准确、更有根据的回答。
  • 调试与可观察性 (Callbacks & Tracing)。为确保模型工作过程的透明度和可控性,LangChain 提供了追踪和监控功能。这使得可以跟踪模型使用了哪些数据,执行了哪些中间步骤,并收集性能指标以提高系统工作质量。
  • 平台扩展。 LangChain 包含额外的组件,如 LangSmithLangGraph,它们提供了集中监控、A/B 测试和管理多智能体工作流的功能。LangSmith 帮助分析模型性能并进行测试,而 LangGraph 则用于管理复杂的多步骤任务并实时跟踪其执行情况。

LangSmith - 可观察性与评估平台

LangSmith [6] 是一个云平台,旨在跟踪、分析和优化使用大型语言模型(LLM)的应用程序的性能,特别是那些使用 LangChain 构建的应用程序。LangSmith 提供了一系列监控和提高 LLM 应用质量的功能,包括性能跟踪、测试和质量评估。

  • 追踪 (Tracing): 允许跟踪模型的所有交互,包括输入输出数据以及中间结果。
  • 指标与性能: 收集响应时间、令牌数量等统计数据,以评估模型性能。
  • A/B 测试: 支持比较不同版本的模型或设置,以选择最有效的方案。
  • 人工在环 (Human-in-the-loop): 引入专家评估和修正模型结果,以提高其准确性。
  • 与其他框架集成: 提供与各种应用监控和分析平台的集成支持。
  • 多任务支持: 允许在单个项目内同时跟踪和管理多个任务。

LangGraph - 多智能体工作流编排

LangGraph [7] 是一个用于编排复杂多步和多智能体工作流的工具,是 LangChain 生态系统的一部分。LangGraph 提供了一个平台,用于创建和管理涉及多个智能体或执行阶段的复杂逻辑链和任务。

  • 多步工作流: 构建复杂的任务链,其中每一步都依赖于前一步。
  • 循环与分支: 支持返回到前序步骤(回溯)以及基于不同路径做出决策。
  • 版本控制与“时间旅行”: 对工作流中的变更进行控制,并能够回滚到先前版本。
  • 多智能体系统: 允许管理多个并行或顺序工作的智能体以完成不同任务。
  • 支持混合解决方案: 在单个工作流中集成不同的数据处理和推理方法。
  • 与外部系统的灵活集成: 轻松地将 API 和数据库等外部服务和系统连接到工作流中。

LangChain Expression Language (LCEL) - LangChain 表达式语言 (LCEL)

LangChain Expression Language (LCEL) [8] 是一种用于组合 Runnable 对象(链、智能体、处理器)的声明式 DSL 框架。它通过 |(管道)操作符来表达,允许描述需要发生什么,而不是如何逐步实现。声明式风格(what-to)描述了期望的结果,而系统自行决定如何实现它。 LCEL 是一种编排机制,使 LangChain 能够在运行时优化执行链。

  • 对于简单的链(例如,prompt → LLM → parser 或简单的提取),LCEL 非常适用。
  • 如果需要复杂的逻辑,如分支、循环、多个智能体和复杂的状态管理,则推荐使用 LangGraph。同时,在图的节点内部仍然可以应用 LCEL。
  • 如果只需要一次 LLM 调用,则不需要 LCEL,直接调用模型即可。
  • 对于简单的链,LCEL 非常合适,并能发挥其优势。
  • 对于复杂的链,使用 LangGraph,并可在需要时内联使用 LCEL。

典型应用场景

LangChain 可用于解决各种任务,例如:

  • 聊天机器人: 创建能够与用户互动、回答问题并与外部数据源协作的智能助手。
  • 自主智能体: 开发能够在无人干预的情况下执行特定任务的系统,例如信息收集或报告生成。
  • 数据检索与分析: 构建用于文档语义搜索和分析的系统,可用于处理法律、金融等类型的数据。
  • 业务流程自动化: 创建用于自动化数据处理、报告生成和其他常规任务的解决方案。

参考文献

  • Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629.
  • Hong, S. et al. (2023). MetaGPT: Meta Programming for a Multi-Agent Collaborative Framework. arXiv:2308.00352.
  • Li, G. et al. (2023). CAMEL: Communicative Agents for "Mind" Exploration of Large Language Model Society. arXiv:2303.17760.
  • Wu, Q. et al. (2023). AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation. arXiv:2308.08155.
  • Liu, X. et al. (2023). AgentBench: Evaluating LLMs as Agents. arXiv:2308.03688.
  • Chen, W. et al. (2023). AgentVerse: Facilitating Multi-Agent Collaboration and Exploring Emergent Behaviors. arXiv:2308.10848.
  • Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
  • Shinn, N. et al. (2023). Reflexion: Language Agents with Verbal Reinforcement Learning. arXiv:2303.11366.
  • Wang, L. et al. (2025). A Survey on Large Language Model Based Autonomous Agents. arXiv:2308.11432.
  • Guo, T. et al. (2024). Large Language Model Based Multi-Agents: A Survey of Progress and Challenges. arXiv:2402.01680.
  • Li, X. (2025). LLMs Working in Harmony: A Survey on the Technological Aspects of Building Effective LLM-Based Multi-Agent Systems. arXiv:2504.01963.
  • Duan, Z.; Wang, J. (2024). Exploration of LLM Multi-Agent Application Implementation Based on LangGraph + CrewAI. arXiv:2411.18241.
  • Wang, J. & Duan, Z. (2024). Agent AI with LangGraph: A Modular Framework for Enhancing Machine Translation Using Large Language Models. arXiv:2412.03801.
  • Camargo da Silva, T. (2025). Extracting Knowledge Graphs from User Stories using LangChain. arXiv:2506.11020.
  • Wang, Z. et al. (2024). Poisoned LangChain: Jailbreak LLMs by LangChain. arXiv:2406.18122.

注释

  1. “Introduction”. https://python.langchain.com/docs/introduction/.[1]
  2. “LangChain”. 载于维基百科 [2]
  3. Forbes. “Harrison Chase”. [3]
  4. LangChain Blog. “LangChain Expression Language”, 2023年8月1日. [4]
  5. LangChain Blog. “Introducing LangServe, the Best Way to Deploy Your LangChains”, 2023年10月12日. [5]

Category:AI tools