Skip to main content
Alpha 版本提示: 本文档涵盖的是 v1-alpha 版本。内容尚不完整,且可能随时变更。如需查阅最新稳定版本,请参阅 v0 版本的 LangChain Python 文档LangChain JavaScript 文档
LangChain 的发展由几个核心信念驱动:
  • 大语言模型(LLM)是卓越且强大的新技术;
  • 当你将 LLM 与外部数据源和计算能力相结合时,其表现会更出色;
  • LLM 将重塑未来应用程序的形态。具体而言,未来的应用程序将越来越趋向“智能体化”(agentic);
  • 这一转型目前仍处于非常早期的阶段;
  • 虽然构建这类智能体应用的原型很容易,但要构建足够可靠、可投入生产的智能体,目前仍然极具挑战。
langchain 的存在,旨在成为开发者使用 LLM 构建应用时最易上手的起点,同时兼具足够的灵活性和生产就绪能力,可直接用于生产环境。 我们有两个核心关注点: 第一,我们希望开发者能够随时使用当前最先进的模型进行构建。 不同提供商暴露的 API 各不相同,包括不同的模型参数和消息格式。 标准化这些模型的输入与输出是我们的核心重点,使开发者能轻松切换至最新的尖端模型,避免被特定供应商锁定。 第二,我们始终关注的不仅是“调用”模型本身,更致力于让开发者能够轻松使用这些模型来编排更复杂的流程——这些流程可与其他数据和计算能力交互,并尽可能简化这一过程。 这包括你可能希望与 LLM 集成的其他组件——我们努力简化开发者定义 LLM 可动态使用的工具的过程,同时协助解析和访问非结构化数据。 此外,还包括使用 LLM 的常见编排模式。 然而,鉴于该领域持续快速的变化,LangChain 本身也在不断演进。 以下是 LangChain 近年来如何随“使用 LLM 构建应用”的内涵演变而发展的简要时间线: 2022年10月24日:在 ChatGPT 发布前一个月,LangChain 作为 Python 包首次推出。 它包含两个主要组件:LLM 抽象层,以及针对常见用例的高层级“链”(chains)。 “链”是指预定义的计算步骤序列。例如——RAG:先执行检索步骤,再执行生成步骤。 “LangChain”这一名称源自“Language”(语言模型)和“Chains”(链)。 2022年12月:LangChain 首次引入通用智能体(agents)。 它们基于 ReAct 论文(ReAct 意为“推理与行动”)。 这些智能体使用 LLM 生成代表工具调用的 JSON,然后解析该 JSON 以确定应调用哪些工具。 2023年1月:OpenAI 发布“聊天补全”(Chat Completion)API。 此前,模型接收字符串输入并返回字符串输出。 在 ChatCompletions API 中,模型演进为接收消息列表并返回一条消息。 其他模型提供商纷纷效仿,LangChain 也随之更新,支持消息列表格式。 2023年1月:LangChain 发布 JavaScript 版本。 LLM 和智能体将改变应用程序的构建方式,而 JavaScript 是应用开发者的主流语言。 2023年2月:围绕开源 LangChain 项目,LangChain Inc 公司正式成立。 其主要目标是“让智能体无处不在”。 团队认识到,尽管 LangChain 是关键组成部分(极大简化了入门过程),但仍需其他组件支持。 2023年春季:OpenAI 在其 API 中发布“函数调用”功能。 这使得 API 能够显式生成代表工具调用的有效载荷。 其他模型提供商随后跟进,LangChain 也更新为优先使用此方法进行工具调用(而非解析 JSON)。 2023年夏季:LangChain Inc 推出闭源平台 LangSmith,提供可观测性与评估功能。 构建智能体的主要难题在于确保其可靠性,LangSmith 正是为解决这一需求而生。 LangChain 更新后与 LangSmith 无缝集成(仅需设置一个环境变量)。 2024年1月langchain 发布 0.1 版本,这是首个非 0.0.x 系列版本。 行业正从原型阶段迈向生产阶段,因此 LangChain 更加注重稳定性。 2024年2月:LangGraph 作为开源库发布。 回顾最初,LangChain 有两个重点:LLM 抽象层,以及针对常见应用的高层级接口。 但缺少的是一个底层编排层,让开发者能精确控制智能体的运行流程。 LangGraph 正是为此而生。 LangGraph 还吸取了 LangChain 的经验教训,内置了我们在 LangChain 中发现必需的功能:流式处理、持久化执行、短期记忆、人机协同等。 2024年夏季:LangChain 拥有超过 700 个集成。 这些集成全部位于主 langchain 包中,带来诸多弊端(包体积过大、维护体验差、依赖冲突等)。 LangChain 将集成从核心包中拆分,移至独立的专属包(核心集成)或 langchain-community(长尾集成)。 2024年秋季:LangGraph 成为构建任何应用(无论是链还是智能体)的首选方式——只要应用涉及不止一次 LLM 调用(而非 LangChain 的链/智能体)。 LangChain 的链/智能体属于高层级抽象,我们发现当开发者试图提升应用可靠性时,需要比高层级接口更精细的控制。 LangGraph 提供了这种底层灵活性。 LangChain 中的大多数链和智能体被标记为弃用,并提供迁移至 LangGraph 的指南。 LangGraph 中创建了一个高层级抽象——智能体抽象,它构建于底层 LangGraph 之上,接口与 LangChain 的 ReAct 智能体一致。 2025年春季:模型 API 日益趋向多模态。 它们开始支持文件、图像、视频等输入。 langchain-core 相应更新了消息格式,使开发者能以标准化方式指定这些多模态输入。 2025年秋季:LangChain 发布 1.0 版本,包含两大主要变更:
  1. 标准化内容块:模型 API 从返回仅含简单内容字符串的消息,演进为支持更复杂的输出类型——推理块、引用、服务端工具调用等。LangChain 相应演进其消息格式,跨提供商实现标准化。
  2. 彻底重构 langchain 中的所有链与智能体:所有链和智能体现被唯一一个高层级抽象取代——构建于 LangGraph 之上的智能体抽象。该抽象最初在 LangGraph 中创建,现迁移至 LangChain。
第二点尤其标志着与 1.0 之前 LangChain 链/智能体的巨大变革。 对于仍在使用旧版 LangChain 链/智能体且不希望升级的用户(注:我们仍建议升级),可通过安装 langchain-legacy 包继续使用旧版 LangChain(该包将在官方 v1.0 正式发布前推出)。