LangChain v0.2迁移指南:从旧版本平滑过渡到新特性
引言
LangChain v0.2 于2024年5月发布,带来了一系列重大变更和弃用声明。本文将为你提供一个全面的升级指南,帮助你顺利迁移到LangChain 0.2.x版本。我们将详细介绍迁移步骤、重要变更、以及如何使用迁移工具来简化这个过程。
迁移准备
在开始迁移之前,建议你先完成以下准备工作:
-
安装LangChain 0.2.x版本及相关依赖包:
- langchain-core
- langchain
- 其他你可能使用的包(如langgraph, langchain-community, langchain-openai等)
-
验证代码兼容性:
- 运行单元测试,确保代码在新版本下正常运行
-
安装最新版本的
langchain-cli
:pip install langchain-cli langchain-cli --version # 确保版本至少为0.0.22
-
使用迁移工具更新导入语句(详见下文)
-
手动解决剩余的弃用警告
-
重新运行单元测试,确保一切正常
-
如果你使用了
astream_events
,请查看如何迁移到astream events v2
使用迁移工具更新导入
LangChain提供了一个迁移工具,可以帮助你自动更新大部分的导入语句。虽然这个工具还处于beta阶段,可能无法覆盖所有情况,但它可以大大加快你的迁移速度。
工具限制
- 仅限于帮助用户从旧导入迁移到新导入,不能处理其他弃用问题
- 无法处理涉及
as
的导入 - 新导入总是放在全局作用域,即使被替换的旧导入位于局部作用域(如函数体内)
- 可能会遗漏一些已弃用的导入
导入变更示例
从包 | 到包 | 弃用的导入 | 新导入 |
---|---|---|---|
langchain | langchain-community | from langchain.vectorstores import InMemoryVectorStore | from langchain_community.vectorstores import InMemoryVectorStore |
langchain-community | langchain_openai | from langchain_community.chat_models import ChatOpenAI | from langchain_openai import ChatOpenAI |
langchain-community | langchain-core | from langchain_community.document_loaders import Bl |