本文翻译自LangChain官方文档
哲学(Philosophy)
LangChain的诞生,旨在 成为构建大语言模型(LLM)应用的最佳入门平台 ,同时兼具 灵活性 与 生产级稳定性。
LangChain秉持以下几个核心理念:
- 大语言模型是一项卓越而强大的新兴技术。
- 将LLM与外部数据源结合使用时,将释放更大价值。
- 大语言模型将重塑未来应用形态:未来的应用将越来越注重自主性,呈现智能化特征。
- 这一转变仍处于非常早期的阶段。
- 虽然构建这些智能体应用程序的原型很容易,但要构建足够可靠、可以投入生产的智能体依然充满挑战。
LangChain 的核心关注点有两个:
-
让开发者能够使用最优秀的模型进行构建应用
不同的供应商提供不同的API,这些API具有不同的模型参数和消息格式。标准化这些模型的输入和输出 是核心目标,这使得开发人员能够轻松切换到最新的先进模型,从而避免被特定的供应商绑定。
-
让模型能够轻松协调与其他数据和计算交互的复杂流程
模型不应仅仅用于文本生成,还应用于协调与其他数据交互的更复杂的流程。LangChain 可以轻松定义语言学习模型(LLM)可动态使用的工具,并有助于 解析和访问非结构化数据。
历史(History)
鉴于该领域日新月异的变化,LangChain 也随之不断发展。以下简要概述了 LangChain 多年来的变化历程,以及它如何随着 LLM 构建方式的演变而不断演进:
2022年10月24日 v0.0.1
在 ChatGPT 发布前一个月,LangChain 作为 Python 包发布。它由两个主要组件构成:
- LLM抽象
- "链",或者说预先设定的计算步骤,用于常见的用例。例如,RAG算法:先运行检索步骤,再运行生成步骤。 LangChain 这个名字来源于"Language"和"Chains"。
2022年12月
LangChain 中首次添加了通用智能体。
这些通用智能体基于 ReAct 论文(ReAct 即"推理-行动"协同机制)。它们使用 LLM 生成表示工具调用的 JSON,然后解析该 JSON 以确定要调用哪些工具。
2023年1月
OpenAI 发布了"Chat Completion"API。
以前,模型接收字符串并返回字符串。在 ChatCompletions API 中,模型演变为接收消息列表并返回结构化消息。其他模型提供商也纷纷效仿,LangChain 也进行了更新以支持消息列表。
2023年1月
LangChain发布了JavaScript版本。 LLM 和代理将改变应用程序的构建方式,而 JavaScript 是应用程序开发人员的语言。
2023年2月
LangChain Inc. 是一家围绕开源 LangChain 项目成立的公司。
主要目标是"让智能代理无处不在"。团队意识到,虽然 LangChain 是关键组成部分(LangChain 简化了 LLM 的入门流程),但还需要其他组件。
2023年3月
OpenAI 在其 API 中发布了"function calling"功能。
这使得 API 能够显式生成代表工具调用的有效负载。其他模型提供商也纷纷效仿,LangChain 也进行了更新,将此作为工具调用的首选方法(而不是解析 JSON)。
2023年6月
LangSmith是由LangChain公司发布的闭源平台,提供可观测性和评估功能。
构建智能体的主要问题在于如何确保其可靠性,而提供可观测性和评估功能的 LangSmith 正是为了解决这一需求而开发的。LangChain 也进行了更新,实现了与 LangSmith 的无缝集成。
2024年1月 v0.1.0
LangChain 发布了 0.1.0 版本,这是它的第一个非 0.0.x 版本。
该行业从原型发展到生产,日趋成熟,因此,LangChain 更加注重稳定性。
2024年2月
LangGraph 是一个开源库。
最初的 LangChain 有两个重点:LLM 抽象和用于快速上手常见应用程序的高级接口;然而,它缺少一个 底层编排层,使开发人员能够精确控制代理的流程。于是,LangGraph 应运而生。
在构建 LangGraph 时,我们吸取了构建 LangChain 时的经验教训,并添加了我们发现需要的功能:流式处理、持久执行、短期记忆、人机交互等等。
2024年6月
LangChain拥有超过700个集成。
集成功能从核心 LangChain 包中分离出来,要么移到它们自己的独立包中(对于核心集成),要么langchain-community。
2024-10
对于任何需要进行多次 LLM 调用的 AI 应用程序,LangGraph 将成为构建此类应用程序的首选方式。
随着开发者不断努力提升应用程序的可靠性,他们需要比现有高级接口更强大的控制能力。LangGraph 正好提供了这种底层灵活性。LangChain 中的大多数链和代理都被标记为已弃用,并提供了迁移到 LangGraph 的指南。LangGraph 中仍然保留了一个高级抽象:智能体抽象。它构建于底层 LangGraph 之上,并拥有与 LangChain 中的 ReAct 智能体相同的接口。
2025-04
模型 API 变得更加多模态。
模型开始接受文件、图像、视频等多种类型的输入。我们 langchain-core 相应地更新了消息格式,以便开发者能够以标准方式指定这些多模态输入。
2025-10-20 v1.0.0
LangChain 发布 1.0 版本,主要有两项变更:
- langchain 中的所有链与智能体均已完成彻底重构,现统一为基于 LangGraph 构建的单一高层抽象------智能体抽象层。该抽象原本在 LangGraph 中创建,现已整合至 LangChain 核心框架。对于仍然使用旧版 LangChain 链/智能体且不想升级的用户(注意:我们建议您升级),您可以通过安装 langchain-classic 软件包继续使用旧版 LangChain。
- 标准化消息格式:模型 API 从返回包含简单内容字符串的消息演变为更复杂的输出类型(推理模块、引用标注、服务端工具调用等)。LangChain 改进了其消息格式,以实现不同提供商之间的标准化。