今天,我们激动地宣布为 Python 和 JavaScript 生态系统发布 LangChain v0.3。
变更内容
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)开始使用。