Skip to main content
Open on GitHub

弃用和重大变更

此代码包含langchainlangchain-core包中的弃用和移除列表。

新功能和改进未在此列出。有关此版本中的新内容摘要,请参阅概述

重大变更

自0.2.0版本发布以来,langchain 需要与集成无关。这意味着 langchain 中的代码默认情况下不应实例化任何特定的聊天模型、llms、嵌入模型、向量存储等;相反,用户需要明确指定这些内容。

以下函数和类需要显式传递一个LLM作为参数:

  • langchain.agents.agent_toolkits.vectorstore.toolkit.VectorStoreToolkit
  • langchain.agents.agent_toolkits.vectorstore.toolkit.VectorStoreRouterToolkit
  • langchain.chains.openai_functions.get_openapi_chain
  • langchain.chains.router.MultiRetrievalQAChain.from_retrievers
  • langchain.indexes.VectorStoreIndexWrapper.query
  • langchain.indexes.VectorStoreIndexWrapper.query_with_sources
  • langchain.indexes.VectorStoreIndexWrapper.aquery_with_sources
  • langchain.chains.flare.FlareChain

以下类现在需要传递一个显式的Embedding模型作为参数:

  • langchain.indexes.VectostoreIndexCreator

以下代码已被移除:

  • langchain.natbot.NatBotChain.from_default 已被移除,推荐使用 from_llm 类方法。

以下代码的行为已更改:

@tool 装饰器

@tool 装饰器现在将函数的文档字符串分配为工具描述。以前,@tool 装饰器用于前置函数签名。

在0.2.0之前:

@tool
def my_tool(x: str) -> str:
"""Some description."""
return "something"

print(my_tool.description)

结果将是:my_tool: (x: str) -> str - 一些描述。

截至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中的导入,直到0.4版本发布,只要代码所在的相应包已安装。(例如,只要安装了langchain_community。)

然而,我们建议用户不要依赖这些导入,而是迁移到新的导入。为了帮助完成这个过程,我们通过LangChain CLI发布了一个迁移脚本。请参阅迁移指南中的进一步说明。

标记为删除的代码

有更好的替代方案可用并且最终将被移除的代码,因此只有一种方式来做事情。(例如,ChatModels中的predict_messages方法已被弃用,推荐使用invoke)。

astream 事件 V1

如果您正在使用astream_events,请查看如何迁移到astream events v2

langchain_core

尝试从中心加载

在模块中: 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

替代方案:调用

BaseLanguageModel.predict_messages

在模块中: language_models.base 已弃用: 0.1.7 移除: 0.3.0

替代方案:调用

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

运行类型枚举

在模块中: 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

替代方案:

基础运行

在模块中: tracers.schemas 已弃用: 0.1.0 移除: 0.3.0

替代方案:运行

LLMRun

在模块中: tracers.schemas 已弃用: 0.1.0 移除: 0.3.0

替代方案:运行

链式运行

在模块中: tracers.schemas 已弃用: 0.1.0 移除: 0.3.0

替代方案:运行

工具运行

在模块中: tracers.schemas 已弃用: 0.1.0 移除: 0.3.0

替代方案:运行

BaseChatModel.call

在模块中:language_models.chat_models 已弃用:0.1.7 移除:0.3.0

替代方案:调用

BaseChatModel.call_as_llm

在模块中:language_models.chat_models 已弃用:0.1.7 移除:0.3.0

替代方案:调用

BaseChatModel.predict

在模块中:language_models.chat_models 已弃用:0.1.7 移除:0.3.0

替代方案:调用

BaseChatModel.predict_messages

在模块中:language_models.chat_models 已弃用:0.1.7 移除:0.3.0

替代方案:调用

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

替代方案:调用

BaseLLM.predict

在模块中:language_models.llms 已弃用:0.1.7 移除:0.3.0

替代方案:调用

BaseLLM.predict_messages

在模块中:language_models.llms 已弃用:0.1.7 移除:0.3.0

替代方案:调用

BaseLLM.apredict

在模块中: language_models.llms 已弃用: 0.1.7 移除: 0.3.0

替代方案:ainvoke

BaseLLM.apredict_messages

在模块中:language_models.llms 已弃用:0.1.7 移除:0.3.0

替代方案:ainvoke

BaseRetriever.get_relevant_documents

在模块中: retrievers 已弃用: 0.1.46 移除: 0.3.0

替代方案:调用

BaseRetriever.aget_relevant_documents

在模块中: retrievers 已弃用: 0.1.46 移除: 0.3.0

替代方案:ainvoke

ChatPromptTemplate.from_role_strings

在模块中: prompts.chat 已弃用: 0.0.1 移除:

替代方案:from_messages 类方法

ChatPromptTemplate.from_strings

在模块中: prompts.chat 已弃用: 0.0.1 移除:

替代方案:from_messages 类方法

BaseTool.call

在模块中: tools 已弃用: 0.1.47 移除: 0.3.0

替代方案:调用

convert_pydantic_to_openai_function

在模块中: utils.function_calling 已弃用: 0.1.16 移除: 0.3.0

替代方案:langchain_core.utils.function_calling.convert_to_openai_function()

convert_pydantic_to_openai_tool

在模块中: utils.function_calling 已弃用: 0.1.16 移除: 0.3.0

替代方案:langchain_core.utils.function_calling.convert_to_openai_tool()

将Python函数转换为OpenAI函数

在模块中: utils.function_calling 已弃用: 0.1.16 移除: 0.3.0

替代方案:langchain_core.utils.function_calling.convert_to_openai_function()

format_tool_to_openai_function

在模块中: utils.function_calling 已弃用: 0.1.16 移除: 0.3.0

替代方案:langchain_core.utils.function_calling.convert_to_openai_function()

format_tool_to_openai_tool

在模块中: utils.function_calling 已弃用: 0.1.16 移除: 0.3.0

替代方案:langchain_core.utils.function_calling.convert_to_openai_tool()

langchain

代理类型

在模块中: agents.agent_types 已弃用: 0.1.0 移除: 0.3.0

替代方案:使用 LangGraph 或新的代理构造函数方法,如 create_react_agent、create_json_agent、create_structured_chat_agent 等。

链式调用.调用

在模块中: chains.base 已弃用: 0.1.0 移除: 0.3.0

替代方案:调用

Chain.acall

在模块中: chains.base 已弃用: 0.1.0 移除: 0.3.0

替代方案:ainvoke

链式运行

在模块中: chains.base 已弃用: 0.1.0 移除: 0.3.0

替代方案:调用

Chain.arun

在模块中: chains.base 已弃用: 0.1.0 移除: 0.3.0

替代方案:ainvoke

Chain.apply

在模块中: chains.base 已弃用: 0.1.0 移除: 0.3.0

替代方案:批量

LLMChain

在模块中: chains.llm 已弃用: 0.1.17 移除: 0.3.0

替代方案:RunnableSequence,例如,prompt | llm

这个迁移指南有一个并排比较。

LLMSingleActionAgent

在模块中: agents.agent 已弃用: 0.1.0 移除: 0.3.0

替代方案:使用 LangGraph 或新的代理构造函数方法,如 create_react_agent、create_json_agent、create_structured_chat_agent 等。

代理

在模块中: agents.agent 已弃用: 0.1.0 移除: 0.3.0

替代方案:使用 LangGraph 或新的代理构造函数方法,如 create_react_agent、create_json_agent、create_structured_chat_agent 等。

OpenAIFunctionsAgent

在模块中: agents.openai_functions_agent.base 已弃用: 0.1.0 移除: 0.3.0

替代方案:create_openai_functions_agent

ZeroShotAgent

在模块中:agents.mrkl.base 已弃用:0.1.0 移除:0.3.0

替代方案:create_react_agent

MRKL链

在模块中: agents.mrkl.base 已弃用: 0.1.0 移除: 0.3.0

替代方案:

对话代理

在模块中:agents.conversational.base 已弃用:0.1.0 移除:0.3.0

替代方案:create_react_agent

对话聊天代理

在模块中: agents.conversational_chat.base 已弃用: 0.1.0 移除: 0.3.0

替代方案:create_json_chat_agent

聊天代理

在模块中:agents.chat.base 已弃用:0.1.0 移除:0.3.0

替代方案:create_react_agent

OpenAIMultiFunctionsAgent

在模块中:agents.openai_functions_multi_agent.base 已弃用:0.1.0 移除:0.3.0

替代方案:create_openai_tools_agent

ReActDocstoreAgent

在模块中:agents.react.base 已弃用:0.1.0 移除:0.3.0

替代方案:

文档存储资源管理器

在模块中: agents.react.base 已弃用: 0.1.0 移除: 0.3.0

替代方案:

ReActTextWorldAgent

在模块中:agents.react.base 已弃用:0.1.0 移除:0.3.0

替代方案:

ReActChain

在模块中:agents.react.base 已弃用:0.1.0 移除:0.3.0

替代方案:

自我询问搜索代理

在模块中: agents.self_ask_with_search.base 已弃用: 0.1.0 移除: 0.3.0

替代方案:create_self_ask_with_search

自我询问与搜索链

在模块中:agents.self_ask_with_search.base 已弃用:0.1.0 移除:0.3.0

替代方案:

结构化聊天代理

在模块中: agents.structured_chat.base 已弃用: 0.1.0 移除: 0.3.0

替代方案:create_structured_chat_agent

检索问答

在模块中: chains.retrieval_qa.base 已弃用: 0.1.17 移除: 0.3.0

替代方案:create_retrieval_chain迁移指南提供了并排比较。

从配置加载代理

在模块中:agents.loading 已弃用:0.1.0 移除:0.3.0

替代方案:

加载代理

在模块中: agents.loading 已弃用: 0.1.0 移除: 0.3.0

替代方案:

initialize_agent

在模块中: agents.initialize 已弃用: 0.1.0 移除: 0.3.0

替代方案:使用 LangGraph 或新的代理构造函数方法,如 create_react_agent、create_json_agent、create_structured_chat_agent 等。

XML代理

在模块中: agents.xml.base 已弃用: 0.1.0 移除: 0.3.0

替代方案:create_xml_agent

CohereRerank

在模块中:retrievers.document_compressors.cohere_rerank 已弃用:0.0.30 移除:0.3.0

替代方案:langchain_cohere.CohereRerank

对话检索链

在模块中:chains.conversational_retrieval.base 已弃用:0.1.17 移除:0.3.0

替代方案:create_history_aware_retrievercreate_retrieval_chain 一起使用(参见文档字符串中的示例) 此迁移指南提供了并排比较。

create_extraction_chain_pydantic

在模块中: chains.openai_tools.extraction 已弃用: 0.1.14 移除: 0.3.0

替代方案:支持工具调用的聊天模型上的with_structured_output方法。

create_openai_fn_runnable

在模块中: chains.structured_output.base 已弃用: 0.1.14 移除: 0.3.0

替代方案:支持工具调用的聊天模型上的with_structured_output方法。

create_structured_output_runnable

在模块中: chains.structured_output.base 已弃用: 0.1.17 移除: 0.3.0

替代方案:支持工具调用的聊天模型上的with_structured_output方法。

create_openai_fn_chain

在模块中:chains.openai_functions.base 已弃用:0.1.1 移除:0.3.0

替代方案:create_openai_fn_runnable

create_structured_output_chain

在模块中: chains.openai_functions.base 已弃用: 0.1.1 移除: 0.3.0

替代方案:ChatOpenAI.with_structured_output

create_extraction_chain

在模块中:chains.openai_functions.extraction 已弃用:0.1.14 移除:0.3.0

替代方案:支持工具调用的聊天模型上的with_structured_output方法。

create_extraction_chain_pydantic

在模块中: chains.openai_functions.extraction 已弃用: 0.1.14 移除: 0.3.0

替代方案:支持工具调用的聊天模型上的with_structured_output方法。


这个页面有帮助吗?