弃用和重大更改
此代码包含 langchain 和 langchain-core 包中弃用和移除的列表。
此处未列出新功能和改进。请参阅概述以了解此版本的新增功能的摘要。
重大更改
自 0.2.0 版本起,langchain 被要求是与集成无关的。这意味着 langchain 中的代码默认不应实例化任何特定的聊天模型、LLM、嵌入模型、向量存储等;相反,用户需要显式指定这些。
以下函数和类需要作为参数显式传递 LLM:
langchain.agents.agent_toolkits.vectorstore.toolkit.VectorStoreToolkitlangchain.agents.agent_toolkits.vectorstore.toolkit.VectorStoreRouterToolkitlangchain.chains.openai_functions.get_openapi_chainlangchain.chains.router.MultiRetrievalQAChain.from_retrieverslangchain.indexes.VectorStoreIndexWrapper.querylangchain.indexes.VectorStoreIndexWrapper.query_with_sourceslangchain.indexes.VectorStoreIndexWrapper.aquery_with_sourceslangchain.chains.flare.FlareChain
以下类现在需要传递显式的嵌入模型作为参数:
langchain.indexes.VectostoreIndexCreator
以下代码已被移除:
langchain.natbot.NatBotChain.from_default已被from_llm类方法取代。
以下代码的行为已更改:
@tool 装饰器
@tool 装饰器现在将函数的 docstring 分配为工具描述。以前,@tool 装饰器用于在函数签名之前添加前缀。
在 0.2.0 之前:
@tool
def my_tool(x: str) -> str:
"""Some description."""
return "something"
print(my_tool.description)
结果是:my_tool: (x: str) -> str - Some description.
作为 0.2.0 起:
结果将是:Some description.
代码已移动到其他包
已从 langchain 移动到其他包(例如 langchain-community)的代码
如果您尝试从 langchain 导入,导入将继续工作,但会引发弃用警告。该警告将提供一个替换的导入语句。
python -c "from langchain.document_loaders.markdown import UnstructuredMarkdownLoader"
LangChainDeprecationWarning: Importing UnstructuredMarkdownLoader from langchain.document_loaders is deprecated. Please replace deprecated imports:
>> from langchain.document_loaders import UnstructuredMarkdownLoader
with new imports of:
>> from langchain_community.document_loaders import UnstructuredMarkdownLoader
只要安装了相关包(例如,只要 langchain_community 已安装),我们将继续支持 langchain 中的导入直到 0.4 版本。
但是,我们建议用户不要依赖这些导入,而是迁移到新的导入。为了帮助完成此过程,我们通过 LangChain CLI 发布了一个迁移脚本。请参阅迁移指南中的进一步说明。
目标移除的代码
已有更好的替代方案并且最终将被移除的代码,这样只有一种方法可以做事情。(例如,ChatModels 中的 predict_messages 方法已弃用,推荐使用 invoke)。
astream 事件 V1
如果您正在使用 astream_events,请查看如何迁移到 astream 事件 v2。
langchain_core
try_load_from_hub
模块:utils.loading
已弃用:0.1.30
移除:0.3.0
替代方案:使用 hwchase17/langchain-hub 存储库进行提示已弃用。请使用 https://smith.langchain.com/hub。
BaseLanguageModel.predict
模块:language_models.base
已弃用:0.1.7
移除:0.3.0
替代方案:invoke
BaseLanguageModel.predict_messages
模块:language_models.base
已弃用:0.1.7
移除:0.3.0
替代方案:invoke
BaseLanguageModel.apredict
模块:language_models.base
已弃用:0.1.7
移除:0.3.0
替代方案:ainvoke
BaseLanguageModel.apredict_messages
模块:language_models.base
已弃用:0.1.7
移除:0.3.0
替代方案:ainvoke
RunTypeEnum
模块:tracers.schemas
已弃用:0.1.0
移除:0.3.0
替代方案:使用字符串。
TracerSessionV1Base
模块:tracers.schemas
已弃用:0.1.0
移除:0.3.0
替代方案:
TracerSessionV1Create
模块:tracers.schemas
已弃用:0.1.0
移除:0.3.0
替代方案:
TracerSessionV1
模块:tracers.schemas
已弃用:0.1.0
移除:0.3.0
替代方案:
TracerSessionBase
模块:tracers.schemas
已弃用:0.1.0
移除:0.3.0
替代方案:
TracerSession
模块:tracers.schemas
已弃用:0.1.0
移除:0.3.0
替代方案:
BaseRun
模块:tracers.schemas
已弃用:0.1.0
移除:0.3.0
替代方案:Run
LLMRun
模块:tracers.schemas
已弃用:0.1.0
移除:0.3.0
替代方案:Run
ChainRun
模块:tracers.schemas
已弃用:0.1.0
移除:0.3.0
替代方案:Run
ToolRun
模块:tracers.schemas
已弃用:0.1.0
移除:0.3.0
替代方案:Run
BaseChatModel.call
模块:language_models.chat_models
已弃用:0.1.7
移除:0.3.0
替代方案:invoke
BaseChatModel.call_as_llm
模块:language_models.chat_models
已弃用:0.1.7
移除:0.3.0
替代方案:invoke
BaseChatModel.predict
模块:language_models.chat_models
已弃用:0.1.7
移除:0.3.0
替代方案:invoke
BaseChatModel.predict_messages
模块:language_models.chat_models
已弃用:0.1.7
移除:0.3.0
替代方案:invoke
BaseChatModel.apredict
模块:language_models.chat_models
已弃用:0.1.7
移除:0.3.0
替代方案:ainvoke
BaseChatModel.apredict_messages
模块:language_models.chat_models
已弃用:0.1.7
移除:0.3.0
替代方案:ainvoke
BaseLLM.call
模块:language_models.llms
已弃用:0.1.7
移除:0.3.0
替代方案:invoke