langchain学习(七)

RunnablePassthrough: Passing data through | 🦜️🔗 Langchain

1、RunnablePassthrough可以在不改变或添加额外键的情况下传递输入。通常和RunnableParallel结合使用去分配数值给到字典的新键

两种方式调用RunnablePassthrough

(1)自身调用

(2)通过函数分配额外的参数给到

26b8725add7d41d3a4dc25de53e20773.png

from langchain_core.runnables import RunnableParallel, RunnablePassthrough
runnable = RunnableParallel(
    passed=RunnablePassthrough(),#第一种用法自身调用传递
    extra=RunnablePassthrough.assign(mult=lambda x: x["num"] * 3),#第二种用法在extra字典添加一个mult新键并赋值
    modified=lambda x: x["num"] + 1,#passed传递生成新变量
)
print(runnable.invoke({"num": 1}))

2、RunnablePassthrough 和RunnableMap结合使用

输入模板需要“context” 和“question”两个键值对,而用户只输入“question”,“context” 是已知的信息且需要和“question”结合判断作回答,通过RunnablePassthrough 来完成

template = """XXXX:
{context}

Question: {question}
"""
retrieval_chain = (
    {"context": retriever, "question": RunnablePassthrough()}
    | prompt
    | model
    | StrOutputParser()
)

retrieval_chain.invoke("where did harrison work?")

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值