LangChain-07 Multiple Chains 多链串联 原创
Runnables can easily be used to string together multiple Chains
Runnables 可以很容易地用于将多个链串在一起
安装依赖
pip install --upgrade --quiet langchain-core langchain-community langchain-openai
编写代码
from operator import itemgetter
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
prompt1 = ChatPromptTemplate.from_template("what is the city {person} is from?")
prompt2 = ChatPromptTemplate.from_template(
"what country is the city {city} in? respond in {language}"
)
model = ChatOpenAI(
model="gpt-3.5-turbo",
)
chain1 = prompt1 | model | StrOutputParser()
chain2 = (
{"city": chain1, "language": itemgetter("language")}
| prompt2
| model
| StrOutputParser()
)
message = chain2.invoke({"person": "obama", "language": "spanish"})
print(f"message: {message}")
观察代码
chain1 = prompt1 | model | StrOutputParser()
chain2 = (
{"city": chain1, "language": itemgetter("language")}
| prompt2
| model
| StrOutputParser()
)
我们可以发现, chian1
和 chian2
可以很方便的串联在一起,方便我们进行扩展。
运行结果
➜ python3 test07.py
message: Chicago, Illinois, se encuentra en los Estados Unidos.
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)