- 大型语言模型(LLM)是伟大、强大的新技术。
- 当您将 LLM 与外部数据源结合时,它们会变得更好。
- LLM 将改变未来应用程序的外观。具体来说,未来的应用程序将越来越具有智能体特性。
- 这种转变仍处于非常早期的阶段。
- 虽然构建这些智能体应用程序的原型很容易,但构建足够可靠以投入生产的智能体仍然非常困难。
1
我们希望使开发人员能够使用最佳模型进行构建。
不同的提供商公开不同的 API,具有不同的模型参数和不同的消息格式。
标准化这些模型输入和输出是核心重点,使开发人员可以轻松切换到最新的最先进模型,避免供应商锁定。
2
我们希望使使用模型编排与其他数据和计算交互的更复杂流程变得容易。
模型不应仅用于文本生成 - 它们还应用于编排与其他数据交互的更复杂流程。LangChain 使定义 LLM 可以动态使用的工具变得容易,并帮助解析和访问非结构化数据。
历史
鉴于该领域的持续变化率,LangChain 也随着时间的推移而演变。以下是 LangChain 多年来如何变化的简要时间表,与使用 LLM 构建的含义一起演变:在 ChatGPT 发布的一个月前,LangChain 作为 Python 包推出。它由两个主要组件组成:
- LLM 抽象
- “链(Chains)“,或针对常见用例运行的预定计算步骤。例如 - 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 Inc. 作为公司成立,围绕开源 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 演变其消息格式以在提供商之间标准化这些。