Skip to main content

弃用和重大变更

以下代码包含了 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

以下类现在需要作为参数传递明确的嵌入模型:

  • 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 - Some description.

从 0.2.0 开始:

结果为:Some description.

移至其他包的代码

已从 langchain 移至其他包中的代码(例如 langchain-community

如果尝试从 langchain 导入它,导入将继续工作,但会引发弃用警告。警告将提供替换的导入语句。

 python -c "from langchain.document_loaders.markdown import UnstructuredMarkdownLoader"
 LangChainDeprecationWarning: 从 langchain.document_loaders 导入 UnstructuredMarkdownLoader 已弃用。请使用新的导入:
>> from langchain_community.document_loaders import UnstructuredMarkdownLoader

我们将继续支持 langchain 中的导入,直到版本 0.4,只要代码所在的相关包已安装。(例如,只要安装了 langchain_community)。

但是,我们建议用户不要依赖这些导入,而是迁移到新的导入。为了帮助这一过程,我们将通过 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

Deprecated: 0.1.0
Removal: 0.3.0
替代方案:
#### 追踪器会话
在模块:`tracers.schemas`
Deprecated: 0.1.0
Removal: 0.3.0
替代方案:
#### 基本运行
在模块:`tracers.schemas`
Deprecated: 0.1.0
Removal: 0.3.0
替代方案:Run
#### LLM运行
在模块:`tracers.schemas`
Deprecated: 0.1.0
Removal: 0.3.0
替代方案:Run
#### 链式运行
在模块:`tracers.schemas`
Deprecated: 0.1.0
Removal: 0.3.0
替代方案:Run
#### 工具运行
在模块:`tracers.schemas`
Deprecated: 0.1.0
Removal: 0.3.0
替代方案:Run
#### BaseChatModel.__call__
在模块:`language_models.chat_models`
Deprecated: 0.1.7
Removal: 0.3.0
替代方案:invoke
#### BaseChatModel.call_as_llm
在模块:`language_models.chat_models`
Deprecated: 0.1.7
Removal: 0.3.0
替代方案:invoke
#### BaseChatModel.predict
在模块:`language_models.chat_models`
Deprecated: 0.1.7
Removal: 0.3.0
替代方案:invoke
#### BaseChatModel.predict_messages
在模块:`language_models.chat_models`
Deprecated: 0.1.7
Removal: 0.3.0
替代方案:invoke
#### BaseChatModel.apredict
在模块:`language_models.chat_models`
Deprecated: 0.1.7
Removal: 0.3.0
替代方案:ainvoke
#### BaseChatModel.apredict_messages
在模块:`language_models.chat_models`
Deprecated: 0.1.7
Removal: 0.3.0
替代方案:ainvoke
#### BaseLLM.__call__
在模块:`language_models.llms`
Deprecated: 0.1.7
Removal: 0.3.0
替代方案:invoke
#### BaseLLM.predict
在模块:`language_models.llms`
Deprecated: 0.1.7
Removal: 0.3.0
替代方案:invoke
#### BaseLLM.predict_messages
在模块:`language_models.llms`
Deprecated: 0.1.7
Removal: 0.3.0
替代方案:invoke
#### BaseLLM.apredict
在模块:`language_models.llms`
Deprecated: 0.1.7
Removal: 0.3.0
替代方案:ainvoke
#### BaseLLM.apredict_messages
在模块:`language_models.llms`
Deprecated: 0.1.7
Removal: 0.3.0
替代方案:ainvoke
#### BaseRetriever.get_relevant_documents
在模块:`retrievers`
Deprecated: 0.1.46
Removal: 0.3.0
替代方案:invoke
#### BaseRetriever.aget_relevant_documents
在模块:`retrievers`
Deprecated: 0.1.46
Removal: 0.3.0
替代方案:ainvoke
#### ChatPromptTemplate.from_role_strings
在模块:`prompts.chat`
Deprecated: 0.0.1
Removal:
替代方案:from_messages类方法
#### ChatPromptTemplate.from_strings
在模块:`prompts.chat`
Deprecated: 0.0.1
Removal:
替代方案:from_messages类方法
#### BaseTool.__call__
在模块:`tools`
Deprecated: 0.1.47
Removal: 0.3.0
替代方案:invoke
#### convert_pydantic_to_openai_function
在模块:`utils.function_calling`
Deprecated: 0.1.16
Removal: 0.3.0
替代方案:langchain_core.utils.function_calling.convert_to_openai_function()
#### convert_pydantic_to_openai_tool
在模块:`utils.function_calling`
Deprecated: 0.1.16
Removal: 0.3.0
替代方案:langchain_core.utils.function_calling.convert_to_openai_tool()
#### convert_python_function_to_openai_function
在模块:`utils.function_calling`
Deprecated: 0.1.16
Removal: 0.3.0
替代方案:langchain_core.utils.function_calling.convert_to_openai_function()
#### format_tool_to_openai_function
在模块:`utils.function_calling`
Deprecated: 0.1.16
Removal: 0.3.0
替代方案:langchain_core.utils.function_calling.convert_to_openai_function()
#### format_tool_to_openai_tool
在模块:`utils.function_calling`
Deprecated: 0.1.16
Removal: 0.3.0
替代方案:langchain_core.utils.function_calling.convert_to_openai_tool()
### langchain
#### 代理类型
在模块:`agents.agent_types`
Deprecated: 0.1.0
Removal: 0.3.0
替代方案:使用新的代理构造方法,如create_react_agent、create_json_agent、create_structured_chat_agent等
#### Chain.__call__
在模块:`chains.base`
Deprecated: 0.1.0
Removal: 0.3.0
替代方案:invoke
#### Chain.acall
在模块:`chains.base`
Deprecated: 0.1.0
Removal: 0.3.0
替代方案:ainvoke
#### Chain.run
在模块:`chains.base`
Deprecated: 0.1.0
Removal: 0.3.0
替代方案:invoke
#### Chain.arun
在模块:`chains.base`
Deprecated: 0.1.0
Removal: 0.3.0
替代方案:ainvoke
#### Chain.apply
在模块:`chains.base`
Deprecated: 0.1.0
Removal: 0.3.0
替代方案:batch
#### LLMChain
在模块:`chains.llm`
Deprecated: 0.1.17
Removal: 0.3.0
替代方案:RunnableSequence,例如`prompt | llm`
#### LLMSingleActionAgent
在模块:`agents.agent`
Deprecated: 0.1.0
Removal: 0.3.0
替代方案:使用新的代理构造方法,如create_react_agent、create_json_agent、create_structured_chat_agent等

在模块:agents.agent

已弃用:0.1.0

移除:0.3.0

替代方案:使用新的代理构造方法,如create_react_agentcreate_json_agentcreate_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

MRKLChain

在模块:agents.mrkl.base

已弃用:0.1.0

移除:0.3.0

替代方案:

ConversationalAgent

在模块:agents.conversational.base

已弃用:0.1.0

移除:0.3.0

替代方案:create_react_agent

ConversationalChatAgent

在模块:agents.conversational_chat.base

已弃用:0.1.0

移除:0.3.0

替代方案:create_json_chat_agent

ChatAgent

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

替代方案:

DocstoreExplorer

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

替代方案:

SelfAskWithSearchAgent

在模块:agents.self_ask_with_search.base

已弃用:0.1.0

移除:0.3.0

替代方案:create_self_ask_with_search

SelfAskWithSearchChain

在模块:agents.self_ask_with_search.base

已弃用:0.1.0

移除:0.3.0

替代方案:

StructuredChatAgent

在模块:agents.structured_chat.base

已弃用:0.1.0

移除:0.3.0

替代方案:create_structured_chat_agent

RetrievalQA

在模块:chains.retrieval_qa.base

已弃用:0.1.17

移除:0.3.0

替代方案:create_retrieval_chain

load_agent_from_config

在模块:agents.loading

已弃用:0.1.0

移除:0.3.0

替代方案:

load_agent

在模块:agents.loading

已弃用:0.1.0

移除:0.3.0

替代方案:

initialize_agent

在模块:agents.initialize

已弃用:0.1.0

移除:0.3.0

替代方案:使用新的代理构造方法,如create_react_agentcreate_json_agentcreate_structured_chat_agent等。

XMLAgent

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

ConversationalRetrievalChain

在模块: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方法。


Was this page helpful?


You can leave detailed feedback on GitHub.