LangChain 0.1.17疑问:未引入GuardrailsOutputParser却触发警告
问题分析:未直接导入GuardrailsOutputParser却触发弃用警告
场景说明
- 使用LangChain 0.1.17版本
- 仅执行代码
from langchain.agents import create_openai_tools_agent,就触发了如下弃用警告:
\venv\Lib\site-packages\langchain_api\module_import.py:87:
LangChainDeprecationWarning: Importing GuardrailsOutputParser
from langchain.output_parsers is deprecated. Please replace
the import with the following:
from langchain_community.output_parsers.rail_parser import GuardrailsOutputParser
warnings.warn(
- 自身代码并未直接导入
GuardrailsOutputParser类
原因解析
这是因为create_openai_tools_agent所在的模块(或其依赖的子模块)间接导入了langchain.output_parsers中的GuardrailsOutputParser。LangChain 0.1.x版本启动了模块拆分计划,将大量社区相关组件迁移至langchain_community包,旧导入路径会触发弃用警告——哪怕你没有直接编写该导入语句,只要依赖的内部模块仍在使用旧路径,就会抛出警告。
具体而言,create_openai_tools_agent的实现可能依赖了某类和输出解析相关的工具或基类,这个依赖链最终牵连到了旧的GuardrailsOutputParser导入路径,从而触发了警告。
临时处理方案
- 若需屏蔽该警告,可在代码开头添加如下过滤逻辑:
import warnings warnings.filterwarnings("ignore", category=DeprecationWarning, module="langchain") - 等待LangChain官方更新内部依赖,替换掉内部模块中的旧导入路径(后续版本大概率会修复该问题)
内容的提问来源于stack exchange,提问作者cottontail
相关产品推荐
相关产品推荐

