理念
LangChain 的存在,是为了成为构建 LLM 应用最容易的地方,同时具备灵活性并可投入生产环境。
LangChain 的驱动力来自以下几个核心信念:
- 大语言模型(LLMs)是一项伟大且强大的新技术。
- 当 LLM 与外部数据源结合时,会变得更强大。
- LLM 将重塑未来应用程序的形态。具体而言,未来的应用将越来越呈现 Agent 化。
- 我们仍处于这一变革的早期阶段。
- 虽然构建这类 Agent 化应用的原型很容易,但要构建足够可靠、可用于生产环境的 Agent仍然非常困难。
在 LangChain 中,我们专注于两个核心方向:
1. 我们希望让开发者能够使用最好的模型
不同的提供商暴露不同的 API、不同的模型参数和不同的消息格式。
标准化这些模型的输入和输出是核心重点,使开发者能够轻松切换到最新、最先进的模型,避免被锁定。
2. 我们希望让使用模型来编排更复杂的流程变得容易,这些流程会与其他数据和计算交互
模型不应仅用于文本生成——它们还应被用于编排与其他数据交互的更复杂流程。
LangChain 让定义 LLM 可动态使用的 工具 变得容易,并帮助解析和访问非结构化数据。
历史(History)
鉴于该领域变化速度极快,LangChain 也在不断演进。
2022-10-24 — v0.0.1
在 ChatGPT 发布前一个月,LangChain 作为 Python 包发布。它包含两个主要组件:
- LLM 抽象层
- “Chains”:为通用用例预设的计算步骤。例如 RAG:先执行检索步骤,然后执行生成步骤。
LangChain 的名称来自 “Language”(语言模型)和 “Chains”。
2022-12
第一批通用 Agent 被添加到 LangChain 中。
这些通用 Agent 基于 ReAct 论文(ReAct = Reasoning and Acting)。
它们使用 LLM 生成代表工具调用的 JSON,然后解析该 JSON 以确定应调用哪些工具。
2023-01
OpenAI 发布 “Chat Completion” API。
此前,模型输入字符串并返回字符串。
在 ChatCompletions API 中,模型演进为接收消息列表并返回消息。
其他模型提供商也跟进,LangChain 更新以支持消息列表。
2023-01
LangChain 发布 JavaScript 版本。
LLM 和 Agent 将改变应用程序的构建方式,而 JavaScript 是应用开发者的主要语言。
2023-02
LangChain Inc. 作为公司成立,以开源 LangChain 项目为基础。
主要目标是“让智能 Agent 无处不在”。
团队意识到,尽管 LangChain 是关键部分(让使用 LLM 入门变得简单),但还需要其他组件。
2023-03
OpenAI 在其 API 中发布 “function calling”。
这使 API 可以明确生成代表工具调用的结构化数据。
其他模型提供商跟进,LangChain 更新为首选使用此方式进行工具调用(而不是解析 JSON)。
2023-06
LangSmith 发布,由 LangChain Inc. 推出,为闭源平台,提供可观测性和评估工具。
构建 Agent 的主要问题在于可靠性,LangSmith 正是为解决该需求而构建。
LangChain 随后更新以与 LangSmith 无缝集成。
2024-01 — v0.1.0
LangChain 发布 0.1.0,首次脱离 0.0.x 版本。
随着行业从原型阶段迈向生产阶段,LangChain 提高了对稳定性的关注。
2024-02
LangGraph 发布,作为开源库。
最初的 LangChain 有两个重点:LLM 抽象层,以及帮助快速构建常用应用的高层接口;然而缺少一个低层编排层,让开发者能精准控制 Agent 的执行流程。
于是出现了:LangGraph。
在构建 LangGraph 的过程中,我们吸取了 LangChain 的经验,并加入了实践中发现必需的功能:流式输出、持久化执行、短期记忆、人类介入(human-in-the-loop)等。
2024-06
LangChain 拥有超过 700 个集成。
集成从 LangChain 核心包中拆分,要么迁移至独立包(核心集成),要么迁移至 langchain-community。
2024-10
LangGraph 成为构建任何不只是单次 LLM 调用的 AI 应用的首选方式。
随着开发者希望提高应用的可靠性,他们需要比高层接口提供的更多控制能力。
LangGraph 提供了这种低层灵活性。
大多数 Chains 和 Agents 在 LangChain 中被标记为弃用,并提供了迁移至 LangGraph 的指南。
LangGraph 中仍保留一个高层抽象:Agent 抽象。
它构建在 LangGraph 的低层之上,并保持与 LangChain ReAct Agents 相同的接口。
2025-04
模型 API 变得更具多模态能力。
模型开始接受文件、图像、视频等输入。
我们更新了 langchain-core 的消息格式,使开发者能够以标准方式指定这些多模态输入。
2025-10-20 — v1.0.0
LangChain 发布 1.0,带来两项重大变更:
完全重构
langchain中的所有 chains 和 agents。
所有 chains 和 agents 现在统一替换为仅一个高层抽象:基于 LangGraph 构建的 Agent 抽象。
这是最初在 LangGraph 中创建的高层抽象,但现迁移到 LangChain。对于仍使用旧 LangChain chains/agents 且不想升级的用户(推荐升级),可安装
langchain-classic包继续使用旧版本。标准化消息内容格式:
模型 API 从返回简单字符串内容的消息,演进为更复杂的输出类型——推理块、引用、服务器端工具调用等。
LangChain 更新消息格式以实现跨提供商标准化。