学习 LangChain 的 Passing data through
- 1. Passing data through
- 2. 示例
1. Passing data through
RunnablePassthrough 允许不改变或添加额外的键来传递输入。这通常与 RunnableParallel 结合使用,将数据分配给映射中的新键。
RunnablePassthrough() 单独调用,将简单地获取输入并将其传递。
使用分配 ( RunnablePassthrough.assign(…) ) 调用的 RunnablePassthrough 将获取输入,并将添加传递给分配函数的额外参数。
2. 示例
请参阅下面的示例:
pip install --upgrade --quiet langchain langchain-openai
from langchain_core.runnables import RunnableParallel, RunnablePassthrough
runnable = RunnableParallel(
passed=RunnablePassthrough(),
extra=RunnablePassthrough.assign(mult=lambda x: x["num"] * 3),
modified=lambda x: x["num"] + 1,
)
runnable.invoke({"num": 1})
输出,
如上所示, passed 键是用 RunnablePassthrough() 调用的,因此它只是传递 {‘num’: 1} 。
在第二行中,我们使用 RunnablePastshrough.assign 和一个将数值乘以 3 的 lambda。在这种情况下, extra 设置为 {‘num’: 1, ‘mult’: 3} ,这是原始的添加了 mult 键的值。
最后,我们还在映射中使用 modified 设置了第三个键,它使用 lambda 来设置单个值,在 num 上加 1,这会导致 modified 键的值为 < b2> 。
refer: https://python.langchain.com/docs/expression_language/how_to/passthrough
完结!