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

LangChain 源码剖析-流媒体系统方法详解(Streaming)

LangChain 源码剖析-流媒体系统方法详解(Streaming)

  • 流媒体对于增强基于LLM构建的应用程序的响应能力至关重要。通过逐步显示输出,甚至在完整响应准备就绪之前,流式传输显著改善了用户体验(UX),特别是在处理LLM的延迟时。

概述

  • LangChain的流媒体系统允许您将代理运行的实时反馈呈现给您的应用程序。
  • LangChain流媒体有以下几种方式:

流代理进度(Stream agent progress)

  • 在每个代理步骤后获取状态更新。
  • 要流式传输代理进度,请使用stream_mode=“updates”的流或astream方法。这将在每个代理步骤后发出一个事件。
  • LLM node:带有工具调用请求的AIMessage
  • Tool node:带执行结果的ToolMessage
  • LLM node:最终AI响应
fromlangchain.agentsimportcreate_agentdefget_weather(city:str)->str:"""Get weather for a given city."""returnf"It's always sunny in{city}!"agent=create_agent(model="gpt-5-nano",tools=[get_weather],)forchunkinagent.stream({"messages":[{"role":"user","content":"What is the weather in SF?"}]},stream_mode="updates",):forstep,datainchunk.items():print(f"step:{step}")print(f"content:{data['messages'][-1].content_blocks}")
  • 响应信息
step:model content:[{'type':'tool_call','name':'get_weather','args':{'city':'San Francisco'},'id':'call_OW2NYNsNSKhRZpjW0wm2Aszd'}]step:tools content:[{'type':'text','text':"It's always sunny in San Francisco!"}]step:model content:[{'type':'text','text':'It's always sunnyinSan Francisco!'}]

流式LLM令牌(Stream LLM tokens)

  • 在生成时流式传输语言模型令牌。
  • 要在LLM生成令牌时对其进行流式传输,请使用stream_mode=“messages”。下面您可以看到代理流工具调用的输出和最终响应。
fromlangchain.agentsimportcreate_agentdefget_weather(city:str)->str:"""Get weather for a given city."""returnf"It's always sunny in{city}!"agent=create_agent(model="gpt-5-nano",tools=[get_weather],)fortoken,metadatainagent.stream({"messages":[{"role":"user","content":"What is the weather in SF?"}]},stream_mode="messages"
http://www.jsqmd.com/news/955902/

相关文章:

  • AI写论文指南!4款AI论文写作工具大揭秘,期刊论文轻松搞定!
  • CompressO:免费开源视频压缩工具,释放95%存储空间的终极解决方案
  • AMCT蒸馏配置文件说明
  • Trelby实战指南:专业开源剧本写作工具的高效配置方法
  • Dism++:3分钟掌握Windows系统维护的终极免费解决方案
  • 5步快速上手:Blender四边形重拓扑终极指南
  • MATLAB喷泉码通信仿真:多径衰落信道下的LT编码、BPSK传输与BP译码全流程实现
  • 2026年抚州黄金回收白银回收铂金回收变卖,5 家靠谱贵金属门店实地测评汇总 - 中业金奢再生回收中心
  • videomae-large-finetuned-kinetics高级技巧:自定义视频分类任务的迁移学习终极指南
  • STC89C51驱动四相步进电机正反转的Keil5工程(含完整源码与可烧录hex)
  • 3分钟掌握XPath定位神器:xpath-helper-plus完整使用教程
  • TuxGuitar完整指南:开源吉他谱编辑器的7大核心功能详解 [特殊字符]
  • 16.滑动窗口经典例题:最小覆盖子串(LeetCode 76)算法原理剖析
  • 3大核心场景+5个实战技巧:Tinke深度解析NDS游戏资源解包与修改的终极方案
  • Python简历智能匹配工具包:知识图谱建模+DNN打分,含Django后台、训练模型与一键部署说明
  • 5分钟免费汉化Axure RP:中文界面快速切换完整指南
  • qt开发新手福音:用快马ai生成带讲解注释的第一个gui程序
  • 5分钟快速上手:FF14国际服终极中文补丁完全指南
  • XMCVE-钓鱼邮件
  • 如何在Windows上快速使用WinCDEmu:新手完整指南
  • 2026济南黄金回收门店实拍:从进门到收款,5家店服务全记录 - 商业快讯早知道
  • VCC、VDD、VSS:从历史起源到PCB实战的电源网络设计指南
  • 抖音下载器终极指南:快速批量获取无水印视频的完整解决方案
  • 分块切断语义?哈佛InSemRAG解决了,速度快4倍
  • 2026年邯郸黄金回收白银回收铂金回收变卖,5 家靠谱贵金属门店实地测评汇总 - 中业金奢再生回收中心
  • STM32串口字符画:从图像处理到终端显示的嵌入式实践
  • Spark推荐系统踩坑实录:ALS调参、冷启动与实时推荐的那些事儿
  • 小米智能家居接入HomeAssistant终极指南:免费实现全屋自动化控制
  • 终极Flameshot截图工具完全指南:从零基础到专业标注
  • 自制STC单片机USB下载器:兼容3.3V/5V与RS232的稳定下载方案