消息、提示模板与 Runnable 数据流:练习答案
参考实现
复用正文环境,单独运行:
python
from langchain_core.runnables import RunnableLambda,RunnableParallel
from langchain_core.prompts import ChatPromptTemplate
p=RunnableParallel(length=RunnableLambda(len),upper=RunnableLambda(str.upper),reverse=RunnableLambda(lambda s:s[::-1]))
assert p.invoke("abc") == {"length":3,"upper":"ABC","reverse":"cba"}
try: ChatPromptTemplate.from_template("{question}").invoke({})
except KeyError: print("missing question rejected")
else: raise AssertionError("missing variable accepted")并行只影响独立分支的执行,不改变每一分支的输入合同。