- 大型语言模型 (LLM) 是一种强大而卓越的新技术。
- 当 LLM 与外部数据源结合时,它们会发挥更大的作用。
- LLM 将改变未来应用程序的面貌。具体来说,未来的应用程序将越来越趋向于“代理化”。
- 这种转变仍处于早期阶段。
- 虽然构建这些代理化应用程序的原型很容易,但构建足够可靠、可投入生产的代理仍然非常困难。
1
我们希望让开发者能够使用最好的模型进行构建。
不同的提供商暴露不同的 API,具有不同的模型参数和不同的消息格式。标准化这些模型输入和输出是我们的核心关注点,这使得开发者可以轻松切换到最新的最先进模型,避免厂商锁定。
2
我们希望让使用模型来编排更复杂的流程变得容易,这些流程可以与其他数据和计算进行交互。
模型应该不仅仅用于**文本生成**——它们还应该用于编排与其他数据交互的更复杂的流程。LangChain 使定义 LLM 可以动态使用的工具变得容易,并有助于解析和访问非结构化数据。
历史
鉴于该领域不断变化的速度,LangChain 也一直在发展。以下是 LangChain 多年来如何随着使用 LLM 构建应用的含义而演变的简要时间线:在 ChatGPT 出现前一个月,**LangChain 作为 Python 包发布**。它由两个主要组件组成:
- LLM 抽象
- “链”,或用于常见用例的预定计算步骤。例如——RAG:运行检索步骤,然后运行生成步骤。
2022-12
第一个通用代理被添加到 LangChain 中。这些通用代理基于 ReAct 论文(ReAct 代表推理和行动)。它们使用 LLM 生成表示工具调用的 JSON,然后解析该 JSON 以确定要调用哪些工具。
2023-01
OpenAI 发布了“聊天完成”API。此前,模型接收字符串并返回字符串。在 ChatCompletions API 中,它们演变为接收消息列表并返回消息。其他模型提供商也效仿,LangChain 更新以支持消息列表。
2023-01
LangChain 发布了 JavaScript 版本。LLM 和代理将改变应用程序的构建方式,而 JavaScript 是应用程序开发者的语言。
2023-02
**LangChain 公司成立**,围绕开源 LangChain 项目。主要目标是“使智能代理无处不在”。团队认识到,虽然 LangChain 是关键部分(LangChain 使 LLM 入门变得简单),但还需要其他组件。
2023-03
OpenAI 在其 API 中发布了“函数调用”功能。这允许 API 显式生成表示工具调用的有效负载。其他模型提供商也效仿,LangChain 更新以将此作为工具调用的首选方法(而不是解析 JSON)。
2023-06
**LangSmith 作为 LangChain Inc. 的闭源平台发布**,提供可观测性和评估功能。构建代理的主要问题是使其可靠,而提供可观测性和评估功能的 LangSmith 就是为了解决这一需求而构建的。LangChain 更新以与 LangSmith 无缝集成。
**LangChain 发布了 0.1.0**,这是其第一个非 0.0.x 版本。行业从原型阶段走向生产阶段,因此 LangChain 更加注重稳定性。
2024-02
**LangGraph 作为开源库发布**。最初的 LangChain 有两个重点:LLM 抽象和用于常见应用程序入门的高级接口;然而,它缺少一个低级编排层,允许开发人员控制其代理的确切流程。于是:LangGraph 应运而生。在构建 LangGraph 时,我们从构建 LangChain 的经验中吸取教训,并添加了我们发现所需的功能:流式传输、持久执行、短期内存、人机协作等。
2024-06
**LangChain 拥有 700 多个集成。**集成从核心 LangChain 包中分离出来,要么移到它们自己的独立包中(用于核心集成),要么移到
@langchain/community 中。2024-10
LangGraph 成为构建任何不仅仅是单个 LLM 调用的 AI 应用程序的首选方式。随着开发人员试图提高其应用程序的可靠性,他们需要比高级接口提供的更多控制。LangGraph 提供了这种低级灵活性。LangChain 中的大多数链和代理都被标记为已弃用,并提供了如何将其迁移到 LangGraph 的指南。LangGraph 中仍然存在一个高级抽象:代理抽象。它构建在低级 LangGraph 之上,并与 LangChain 中的 ReAct 代理具有相同的接口。
2025-04
模型 API 变得更加多模态。模型开始接受文件、图像、视频等。我们相应地更新了
@langchain/core 消息格式,以允许开发人员以标准方式指定这些多模态输入。**LangChain 发布 1.0 版本**,带来两项重大变更:
-
对
langchain中所有链和代理进行彻底改造。所有链和代理现在都替换为只有一个高级抽象:一个基于 LangGraph 构建的代理抽象。这最初是在 LangGraph 中创建的高级抽象,只是移到了 LangChain。 对于仍在使用旧 LangChain 链/代理且不想升级的用户(注意:我们建议您升级),您可以通过安装@langchain/classic包继续使用旧 LangChain。 - 标准消息内容格式:模型 API 从返回带有简单内容字符串的消息演变为更复杂的输出类型——推理块、引用、服务器端工具调用等。LangChain 改进了其消息格式,以在不同提供商之间实现标准化。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。