Langchain中RunnableSequence无input_schema属性的问题求助
Langchain RunnableSequence 无 input_schema 属性、schema() 返回结果不符预期的解决办法
问题原因
核心是Langchain版本差异:旧版本的RunnableSequence未实现input_schema属性,而文档基于较新版本编写;另外chain.schema()返回的是RunnableSequence自身的结构配置schema,而非链的输入数据schema,这是设计逻辑导致的。
解决办法
1. 升级Langchain到兼容版本
运行命令升级至最新稳定版,确保与文档API匹配:
pip install --upgrade langchain
升级后重新执行代码,chain.input_schema.schema()即可返回预期的输入数据schema。
2. 手动获取输入schema(兼容旧版本)
如果暂时无法升级,可直接取链中第一个组件(即Prompt)的input_schema——链的输入规则完全继承自第一个组件:
from langchain.prompts import ChatPromptTemplate from langchain.chat_models import ChatOpenAI model = ChatOpenAI() prompt = ChatPromptTemplate.from_template("tell me a joke about {topic}") chain = prompt | model # 获取Prompt的输入schema,与预期结果一致 print(prompt.input_schema.schema())
验证结果
执行上述代码后,将得到预期的输入schema:
{'title': 'PromptInput', 'type': 'object', 'properties': {'topic': {'title': 'Topic', 'type': 'string'}}}
内容的提问来源于stack exchange,提问作者CAV
相关产品推荐
相关产品推荐

