langchain重载了python的or运算符“|”,使其拥有管道运算符的功能
我们可以使用“|”将各个组件连接起来,实现input --->processing--->output
这里补充一点,LangSmith的用法,首先需要到langchain官网获取一个langchain的api key,将其存入代码文件同目录下的.env中,同时在其中写入“LANGCHAIN_TRACING_V2="true"”来启动LangSmith,在代码中使用load_dotenv启动环境变量,运行代码后就可以去https://smith.langchain.com/查看本次调用大模型的详细信息了
例如,让大模型写一首关于某主题的诗歌
import os
from langchain.prompts import ChatPromptTemplate
from langchain_community.chat_models import ChatZhipuAI
from langchain_core.output_parsers import StrOutputParser
from dotenv import load_dotenv
load_dotenv()
#定义模型
model=ChatZhipuAI(
api_key=os.getenv("ZHIPU_API_KEY"),
model='glm-3-turbo'
)
#定义输出解析器
output_parser=StrOutputParser()
#提示词
chat_template=ChatPromptTemplate.from_template("根据用户输入的主题{topic}写一首七言绝句")
#链
chain=chat_template | model | output_parser
result=chain.invoke(input="太阳")
print(result)
输出:

我们还可以用RunnableParallel把多条chain合并起来一起执行
import os
from langchain.prompts import ChatPromptTemplate
from langchain_community.chat_models import ChatZhipuAI
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnableParallel
from dotenv import load_dotenv
load_dotenv()
#定义模型
model=ChatZhipuAI(
api_key=os.getenv("ZHIPU_API_KEY"),
model='glm-3-turbo'
)
#定义输出解析器
output_parser=StrOutputParser()
#提示词1
pome_template=ChatPromptTemplate.from_template("根据用户输入的主题{topic}写一首七言绝句")
#链1
pome_chain=pome_template | model | output_parser
#提示词2
code_template=ChatPromptTemplate.from_template("根据用户输入的主题{topic}写一段代码")
#链2
code_chain=code_template | model | output_parser
combine_chain=RunnableParallel(
pome=pome_chain,
code=code_chain
)
result=combine_chain.invoke("水滴")
输出如下

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。