今天,我们很高兴地宣布 LangChain v0.3 版本在 Python 和 JavaScript 生态系统中发布。
发生了哪些变化
Python
- 所有包已从内部的 Pydantic 1 升级到 Pydantic 2。在用户代码中使用 Pydantic 2 在所有包中完全受支持,无需使用诸如
langchain_core.pydantic_v1
或pydantic.v1
之类的桥梁。 - Pydantic 1 将不再受支持,因为它已于 2024 年 6 月 结束生命周期。
- Python 3.8 将不再受支持,因为其 生命周期将于 2024 年 10 月 结束。
这些是 Python 版本的唯一重大变更。
JavaScript
- 所有 LangChain 包现在将
@langchain/core
作为对等依赖项,而不是直接依赖项,以帮助避免围绕 核心版本冲突 的类型错误。- 您现在需要显式安装
@langchain/core
,而不是依赖于从其他包中内部解析的版本。
- 您现在需要显式安装
- 回调现在默认情况下是后台运行且非阻塞的,而不是阻塞的。
- 这意味着,如果您在无服务器环境中使用例如 LangSmith 进行跟踪,则需要 等待回调以确保它们在您的函数结束之前完成。
- 已从
langchain
中删除过时的文档加载器和自查询入口点,转而使用
和集成包中的入口点。@langchain/community
- 已从 community 中删除过时的 Google PaLM 入口点,转而使用
和@langchain/google-vertexai
中的入口点。@langchain/google-genai
- 已弃用使用带有
"type"
的对象作为BaseMessageLike
,转而使用更类似 OpenAI 的MessageWithRole
。
新功能
我们在 LangChain v0.2 的开发过程中做了一些改进,我们希望在这里重点介绍一下。
- 将更多集成从
langchain-community
移动到他们自己的langchain-{name}
包中。这是一个非破坏性更改,因为旧实现保留在langchain-community
中并被标记为已弃用。这使我们能够更好地管理这些集成的依赖项、测试和版本。您可以在 Python API 参考 和 JS API 参考 中查看所有最新的集成包。 - 改进的集成文档和 API 参考。阅读更多 内容。
- 简化的工具定义和使用。阅读更多 内容。
- 添加了与聊天模型交互的实用程序:通用模型构造器(python,js),用于修剪、过滤和合并消息的实用程序(python,js),速率限制器(python)。
- 添加了调度自定义事件的功能(python,js)。
如何更新您的代码
为了帮助您迁移到最新版本的 LangChain,我们编写了关于 Python 和 JavaScript 的操作指南。
文档
LangChain 文档是版本化的,先前版本的文档将保留在以下 URL 中:Python 0.1,Python 0.2,JS 0.1,JS 0.2
LangGraph
LangGraph 是一个用于使用 LLM 构建有状态的多参与者应用程序的库,用于创建代理和多代理工作流。从 LangChain v0.2 开始,LangGraph 已成为构建代理的推荐方法。LangGraph 附带一个预构建的 LangGraph 对象,等效于 LangChain AgentExecutor,这使得它易于使用开箱即用的代理解决方案。有关如何迁移的文档,请参见 此处。
即将推出
我们预计在 0.3 版本中改进 LangChain 的多模态功能,并继续改进集成文档和可靠性。
我们很乐意在 GitHub 上收到您关于 LangChain v0.3 的所有反馈。如果您是 LangChain 的新手,请按照我们的快速入门指南(Python, JavaScript)开始使用。