bind函数用法.md
在使用LangChain开发的时候,某些场合我们希望在一个Runnable可运行队列中中调用另一个Runnable,并传递一些常量参数,但是这些参数不是前一个 Runnable的输出的一部分,也不是用户输入的一部分,而是某个Runnable组件的一部分参数。
我们就可以考虑使用Runnable.bind()来传递这些默认参数。
例如以下场景:
- 创建了一个 ChatOpenAI 的 LLM 大语言模型,利用这个 LLM 来构建两条链;
- 第 1 条链的
temperature为 -0.7,即生成的内容确定性更强;第 2 条链的temperature为 1.2,生成的内容会更随机,更有创意; - 在构建时,即可通过
LLM.bind(temperature=0.7)和LLM.bind(temperature=1.2)来为 LLM 设置不同的默认调用参数;
bind()函数用于修改Runnable底层的默认调用参数,并在调用时会自动传递该参数,无需手动传递,像原始链一样正常调用即可。所以如果在构建Runnable链应用时就知道对应的参数,可以使用bind函数来绑定参数(事先指定)。
使用场景
- 动态添加默认调用参数
- 解决多参
RunnableLambda函数传参