langchain如何并行调用运行接口

文章目录

概要

RunnableParallel 原语本质上是一个字典,其值是运行接口(或可以被强制转换为运行接口的事物,如函数)。它并行运行所有值,并且每个值都使用 RunnableParallel 的整体输入进行调用。最终返回值是一个字典,包含每个值在其适当键下的结果。

并行运行可以有效提高执行效率。多个chain一起执行和单个chain执行的耗时基本相差无几。

并行化步骤

RunnableParallels 使得并行执行多个 Runnables 变得简单,并将这些 Runnables 的输出作为映射返回。

python 复制代码
import os

from langchain_community.chat_models import ChatZhipuAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnableParallel

# 设置智普 AI 的 API 密钥
os.environ["ZHIPUAI_API_KEY"] = "5eb20f1f---NRdKxlr"
# 初始化智普 AI 模型
llm = ChatZhipuAI()

chain1 = ChatPromptTemplate.from_template("给我讲个关于{topic}的笑话") | llm
chain2 = ChatPromptTemplate.from_template("给我讲个关于{topic}的八卦") | llm
# RunnableParallel封装起多个chain
map_chain = RunnableParallel(a = chain1, b = chain2)
rest = map_chain.invoke({"topic":"娱乐圈"})
print(rest)
print(rest['a'])
print(rest['b'])

结果:

shell 复制代码
E:\learn_work_spaces\PythonProject1\.venv\Scripts\python.exe E:\learn_work_spaces\PythonProject1\RunnableParallel\demo1.py 
{'a': AIMessage(content='娱乐圈的笑话来了:\n\n有一天,一个明星走进了一家餐厅,服务员兴奋地问他:"哇,您是那个大明星吧?我超级喜欢您的电影!"\n\n明星谦虚地笑了笑说:"谢谢,你真会说话。"\n\n服务员接着说:"真的!我特别喜欢您的一部电影,叫《一天到晚游泳的鱼》!"\n\n明星一脸懵逼,心想:我没拍过这部电影啊?但他还是面带微笑地说:"哦,那部电影啊,确实挺有意思的。"\n\n服务员继续热情地说:"对啊,里面有一句台词,我印象特别深刻:'我游泳游得像一条鱼!'"\n\n这时,旁边的顾客忍不住笑出声来,明星也恍然大悟,原来服务员把他的名字和电影搞混了,他尴尬地笑着说:"哈哈,原来是这样,那部电影确实很搞笑。"\n\n笑话归笑话,其实娱乐圈的明星们为了给观众带来欢乐,背后付出了很多努力,我们要尊重他们的付出哦!', additional_kwargs={}, response_metadata={'token_usage': {'completion_tokens': 200, 'prompt_tokens': 12, 'total_tokens': 212}, 'model_name': 'glm-4', 'finish_reason': 'stop'}, id='run-728ed2b2-992f-444f-8495-f1aa5300713a-0'), 'b': AIMessage(content='娱乐圈的八卦总是充满了各种趣味和悬念。下面我给你讲一个关于娱乐圈的轶事。\n\n这个故事发生在我国娱乐圈的两位当红明星A和B之间。A和B曾共同出演一部电视剧,剧中他们扮演的角色有着深厚的感情。戏外,粉丝们也希望他们能将这段感情延续到现实生活中,将他们视为一对金童玉女。\n\n然而,在一次综艺节目的录制过程中,A和B却因为一场游戏发生了争执。在游戏中,B无意间说出了A的一个秘密,这让A感到非常尴尬和恼火。尽管B事后道歉,但A对此事一直耿耿于怀。\n\n后来,在电视剧宣传期间,A和B需要共同出席各种活动。在一次采访中,记者问起他们之间的感情,A忍不住爆发,当场指责B在节目中泄露他的秘密,并表示不再愿意与B有任何合作。这场采访播出后,粉丝们纷纷表示震惊,也引起了网友们的热议。\n\n事后,双方团队进行了紧急公关,试图平息这场风波。虽然A和B在公开场合表示已经和解,但这段恩怨始终成为了他们之间的一个难以抹去的痕迹。\n\n娱乐圈的纷争和恩怨总是层出不穷,这个故事也只是一个缩影。作为观众,我们还是应该关注艺人的作品,给他们一些私人空间,让他们在复杂的环境中保持自己的初心。', additional_kwargs={}, response_metadata={'token_usage': {'completion_tokens': 267, 'prompt_tokens': 12, 'total_tokens': 279}, 'model_name': 'glm-4', 'finish_reason': 'stop'}, id='run-579e349e-a064-4f4a-b1ea-33653f1ac325-0')}
content='娱乐圈的笑话来了:\n\n有一天,一个明星走进了一家餐厅,服务员兴奋地问他:"哇,您是那个大明星吧?我超级喜欢您的电影!"\n\n明星谦虚地笑了笑说:"谢谢,你真会说话。"\n\n服务员接着说:"真的!我特别喜欢您的一部电影,叫《一天到晚游泳的鱼》!"\n\n明星一脸懵逼,心想:我没拍过这部电影啊?但他还是面带微笑地说:"哦,那部电影啊,确实挺有意思的。"\n\n服务员继续热情地说:"对啊,里面有一句台词,我印象特别深刻:'我游泳游得像一条鱼!'"\n\n这时,旁边的顾客忍不住笑出声来,明星也恍然大悟,原来服务员把他的名字和电影搞混了,他尴尬地笑着说:"哈哈,原来是这样,那部电影确实很搞笑。"\n\n笑话归笑话,其实娱乐圈的明星们为了给观众带来欢乐,背后付出了很多努力,我们要尊重他们的付出哦!' additional_kwargs={} response_metadata={'token_usage': {'completion_tokens': 200, 'prompt_tokens': 12, 'total_tokens': 212}, 'model_name': 'glm-4', 'finish_reason': 'stop'} id='run-728ed2b2-992f-444f-8495-f1aa5300713a-0'
content='娱乐圈的八卦总是充满了各种趣味和悬念。下面我给你讲一个关于娱乐圈的轶事。\n\n这个故事发生在我国娱乐圈的两位当红明星A和B之间。A和B曾共同出演一部电视剧,剧中他们扮演的角色有着深厚的感情。戏外,粉丝们也希望他们能将这段感情延续到现实生活中,将他们视为一对金童玉女。\n\n然而,在一次综艺节目的录制过程中,A和B却因为一场游戏发生了争执。在游戏中,B无意间说出了A的一个秘密,这让A感到非常尴尬和恼火。尽管B事后道歉,但A对此事一直耿耿于怀。\n\n后来,在电视剧宣传期间,A和B需要共同出席各种活动。在一次采访中,记者问起他们之间的感情,A忍不住爆发,当场指责B在节目中泄露他的秘密,并表示不再愿意与B有任何合作。这场采访播出后,粉丝们纷纷表示震惊,也引起了网友们的热议。\n\n事后,双方团队进行了紧急公关,试图平息这场风波。虽然A和B在公开场合表示已经和解,但这段恩怨始终成为了他们之间的一个难以抹去的痕迹。\n\n娱乐圈的纷争和恩怨总是层出不穷,这个故事也只是一个缩影。作为观众,我们还是应该关注艺人的作品,给他们一些私人空间,让他们在复杂的环境中保持自己的初心。' additional_kwargs={} response_metadata={'token_usage': {'completion_tokens': 267, 'prompt_tokens': 12, 'total_tokens': 279}, 'model_name': 'glm-4', 'finish_reason': 'stop'} id='run-579e349e-a064-4f4a-b1ea-33653f1ac325-0'

进程已结束,退出代码为 0
相关推荐
张高兴6 小时前
张高兴的大模型开发实战:(二)使用 LangChain 构建本地知识库应用
python·langchain·大模型
*星星之火*12 小时前
【GPT入门】第22课 langchain LCEL介绍
gpt·langchain
花千树-0101 天前
LangChain教程 - Agent -之 REACT_DOCSTORE
python·机器学习·langchain·pdf·prompt·aigc·embedding
Loadings1 天前
Langchain学习
langchain
Loadings1 天前
AI Agent主流框架对比
langchain·aigc·ai 编程
王毕业1 天前
从零开始解析RAG(三):五级分块——从字符切分到语义感知的演进之路
langchain
*星星之火*2 天前
【GPT入门】第18课 langchain介绍与API初步体验
gpt·langchain
summer_ful2 天前
Summerful的LangChain入门学习笔记(二)-Model I/O之Prompts
langchain
YuiGod2 天前
《从零开始DeepSeek R1搭建本地知识库问答系统》六:关于聊天模型 API Key 的使用与调用 Embedding 模型
python·langchain·deepseek