Langchain中SimpleSequentialChain报错:input/output_variables字段不被允许
解决Langchain SimpleSequentialChain的ValidationError问题
你遇到的ValidationError核心原因是:SimpleSequentialChain类不支持input_variables和output_variables这两个参数,这两个参数是通用Chain类或SequentialChain的配置项,被错误用到了SimpleSequentialChain上。
修复方案(保留SimpleSequentialChain)
直接移除初始化参数中的input_variables和output_variables即可,SimpleSequentialChain会自动按链的顺序传递输入输出:
修改后的parent_chain初始化代码:
parent_chain=SimpleSequentialChain( chains=[llm_chain,llm_chain2], verbose=True )
执行后调用parent_chain({'name':"dhoni"}),会返回最后一个链的输出结果(即'dob'对应的值),因为SimpleSequentialChain的设计就是只返回最终链的输出。
如需保留中间结果:改用SequentialChain
如果需要同时获取中间结果(第一个链的person)和最终结果(第二个链的dob),可以替换为SequentialChain,它支持指定input_variables和output_variables:
# 先导入SequentialChain from langchain.chains import SequentialChain parent_chain=SequentialChain( chains=[llm_chain,llm_chain2], input_variables=['name'], output_variables=['person','dob'], verbose=True )
此时调用链会返回包含'name'、'person'、'dob'的完整结果字典。
内容的提问来源于stack exchange,提问作者Mayank Chourasia
相关产品推荐
相关产品推荐

