弃用和重大更改
此代码包含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
以下类现在需要将显式 Embedding 模型作为参数传递:
langchain.indexes.VectostoreIndexCreator
已删除以下代码:
langchain.natbot.NatBotChain.from_defaultremoved 以支持from_llmclass 方法。
以下代码的行为已更改:
@tool 装饰器
@tooldecorator 现在将函数 doc-string 分配为工具描述。以前,@tool装饰
using 来预置函数签名。
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,导入将继续工作,但会引发弃用警告。该警告将提供替换的 import 语句。
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 发布迁移脚本。请参阅迁移指南中的进一步说明。
要删除的代码
具有更好的替代方案并最终将被删除的代码,因此只有一种方法可以执行作。(例如,predict_messages方法已被弃用,取而代之的是invoke).
astream 事件 V1
如果您正在使用astream_events,请查看如何迁移到 Astream Events 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
替代方法:改用 string。
TracerSessionV1Base
在模块中:tracers.schemas废弃: 0.1.0
删除:0.3.0
另类:
TracerSessionV1创建
在模块中: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
替代方案:运行
LLMRun
在模块中:tracers.schemas废弃: 0.1.0
删除:0.3.0
替代方案:运行
ChainRun 链跑
在模块中:tracers.schemas废弃: 0.1.0
删除:0.3.0
替代方案:运行
工具运行
在模块中:tracers.schemas废弃: 0.1.0
删除:0.3.0
替代方案:运行
BaseChatModel 的叫
在模块中: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 的叫
在模块中:language_models.llms废弃: 0.1.7
删除:0.3.0
替代方案:invoke
BaseLLM.predict
在模块中:language_models.llms废弃: 0.1.7
删除:0.3.0
替代方案:invoke
BaseLLM.predict_messages
在模块中:language_models.llms废弃: 0.1.7
删除:0.3.0
替代方案:invoke
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
替代方案:invoke
BaseRetriever.aget_relevant_documents
在模块中:retrievers废弃: 0.1.46
删除:0.3.0
替代方案:ainvoke
ChatPromptTemplate.from_role_strings
在模块中:prompts.chat废弃: 0.0.1
免职:
替代方案:from_messages classmethod
ChatPromptTemplate.from_strings
在模块中:prompts.chat废弃: 0.0.1
免职:
替代方案:from_messages classmethod
BaseTool 的叫
在模块中:tools废弃: 0.1.47
删除:0.3.0
替代方案:invoke
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()
convert_python_function_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_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
替代方案:invoke
链.acall
在模块中:chains.base废弃: 0.1.0
删除:0.3.0
替代方案:ainvoke
链.run
在模块中:chains.base废弃: 0.1.0
删除:0.3.0
替代方案:invoke
链.arun
在模块中:chains.base废弃: 0.1.0
删除:0.3.0
替代方案:ainvoke
链.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
零镜头代理
在模块中: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
另类:
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
检索 QA
在模块中: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
替代方案:使用 LangGraph 或新的代理构造函数方法,如 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支持工具调用的聊天模型上的方法。