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
相关推荐
AI探子11 小时前
【LangChain基础系列】深入全面掌握文本加载器
langchain
小饕2 天前
LangChain构建大模型应用之问答系统(五)
人工智能·python·langchain
yibuapi_com2 天前
Embedding 的数学特性与可视化解析
chatgpt·架构·langchain·embedding·claude·向量数据库·中转api
为啥全要学3 天前
vLLM部署Qwen2-7B模型推理
python·langchain·vllm
满怀10153 天前
【LangChain全栈开发指南】从LLM集成到智能体系统构建
人工智能·python·langchain·ai编程·智能体开发
进取星辰5 天前
21. LangChain金融领域:合同审查与风险预警自动化
金融·langchain·自动化
tangjunjun-owen6 天前
第三章:langchain加载word文档构建RAG检索教程(基于FAISS库为例)
langchain·llm·word·faiss·rag
Ven%6 天前
LangChain:大语言模型应用的“瑞士军刀”入门指南
人工智能·语言模型·langchain
yibuapi_com6 天前
开源智能体MetaGPT记忆模块解读
python·ai·语言模型·chatgpt·架构·langchain·claude
一切皆有可能!!6 天前
2025年LangChain(V0.3)开发与综合案例
语言模型·langchain