Chain:
关于三个invoke:
提示模板、聊天模型和输出解析器都实现了langchain的runnable接口,
都具有invoke方法(因为invoke方法是Runnable的通用调用方法)
所以可以一次性调用多次invoke直接得到最终结果:
更简洁的写法:
| 表示把前面组件的输出作为后面组件的输入,也就是“管道操作”。
prompt | model | output_parser 把提示值传给模型,又把模型输出传给解析器。
把对多个组件的一系列调用,称为“链”(Chain)。
链.invoke(第一个组件的参数)
(注意:链里聊天模型可以换成语言模型,提示模板和输出解析器也不是必须有的)
链让我们组合出复杂的流程,通过langchain表达式语言,组件之间的上下游关系也能表现得很清晰明了。