- 大型语言模型(LLM)是一项伟大且强大的新技术。
- 当您将 LLM 与外部数据源结合时,它们会变得更好。
- LLM 将改变未来应用程序的样子。具体来说,未来的应用程序将越来越具智能化。
- 在这场变革中,我们仍处于非常早期的阶段。
- 虽然构建这些智能体应用程序的原型很容易,但构建足够可靠且可以投入生产的智能体仍然非常困难。
我们希望让开发者能够使用最好的模型进行构建。
不同的供应商提供不同的 API,他们具有不同的模型参数和不同的消息格式。
标准化这些模型输入和输出是核心重点,使开发者能够轻松切换到最新的前沿模型,避免锁死。
我们希望使得用模型编排更复杂的工作流变得容易,这些工作流还能够与其他数据和计算进行交互。
模型不仅能够应用于文本生成,还能够应用于编排更复杂的工作流,与其他数据交互。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 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 演变了其消息格式以跨提供商标准化这些内容。

