当前位置: 首页 > news >正文

langchain如何并行调用运行接口

文章目录

  • 概要
  • 并行化步骤

概要

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

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

并行化步骤

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


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'])


结果:


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



相关文章:

  • 代码随想录算法训练营第六十五天| 图论10
  • 《Android启动侦探团:追踪Launcher启动的“最后一公里”》
  • 设计模式之抽象工厂模式
  • element plus组件Carousel组件3个卡片平铺样式改造
  • docker nginx
  • A - 整数的简单问题/A - A Simple Problem with Integers
  • 《算法笔记》8.2小节——搜索专题->广度优先搜索(BFS)问题 E: 【宽搜入门】巧妙取量
  • 基于 Prometheus + Grafana 监控微服务和数据库
  • 职业教育五金建设改革解析
  • C# 一文读懂委托与事件
  • Web Component 教程(二):如何有效管理和使用自定义属性
  • ✎ 一次有趣的经历
  • Cross-Silo Prototypical Calibration for Federated Learning with Non-IID Data
  • 【操作系统安全】任务6:Linux 系统文件与文件系统安全 学习指南
  • 【项目合集】基于ESP32的智能化妆柜
  • Linux进程信号(上)
  • Python第五章03:函数返回值和None类型
  • 网络编程知识预备阶段
  • 东隆科技携手PRIMES成立中国校准实验室,开启激光诊断高精度新时代
  • 【免费】2004-2017年各地级市实际利用外资数据
  • 俄罗斯期望乌克兰在停火期间采取行动缓和局势
  • 外交部发言人就澳大利亚联邦大选结果答记者问
  • 中国海警局新闻发言人就日民用飞机侵闯我钓鱼岛领空发表谈话
  • 空间方法:一周城市生活
  • “五一”假期首日跨区域人员流动预计超3.4亿人次
  • 临港迎来鸿蒙智行“尚界”整车及电池配套项目,首款车型今秋上市