弃用和重大变更
以下代码包含了 langchain
和 langchain-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_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
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_agent
,create_json_agent
,create_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_retriever
与create_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
方法。