弃用和重大变更
此代码包含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
以下类现在需要传递一个显式的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_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方法。