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

响应流式传输(Response Streaming)

响应流式传输(Response Streaming)

注意
此页面描述的是低级 LLM API 的响应流式传输。高级 LLM API 请参见 [AI 服务](AI Services)。

LLM 会逐个令牌(token)生成文本,因此许多 LLM 提供商提供了一种逐令牌流式传输响应的方法,而无需等待整个文本生成完毕。这显著改善了用户体验,因为用户无需等待未知的时间,几乎可以立即开始阅读响应。

对于ChatModelLanguageModel接口,存在对应的StreamingChatModelStreamingLanguageModel接口。它们具有相似的 API,但可以流式传输响应。它们接受StreamingChatResponseHandler接口的实现作为参数。

publicinterfaceStreamingChatResponseHandler{defaultvoidonPartialResponse(StringpartialResponse){}defaultvoidonPartialResponse(PartialResponsepartialResponse,PartialResponseContextcontext){}defaultvoidonPartialThinking(PartialThinkingpartialThinking){}defaultvoidonPartialThinking(PartialThinkingpartialThinking,PartialThinkingContextcontext){}defaultvoidonPartialToolCall(PartialToolCallpartialToolCall){}defaultvoidonPartialToolCall(PartialToolCallpartialToolCall,PartialToolCallContextcontext){}defaultvoidonCompleteToolCall(CompleteToolCallcompleteToolCall){}voidonCompleteResponse(ChatResponsecompleteResponse);voidonError(Throwableerror);}

通过实现StreamingChatResponseHandler,您可以为以下事件定义操作:

  • 当生成下一个部分文本响应时:调用onPartialResponse(String)onPartialResponse(PartialResponse, PartialResponseContext)(您可以实现其中任一方法)。根据 LLM 提供商的不同,部分响应文本可以包含一个或多个令牌。例如,您可以在令牌可用时立即将其发送到 UI。
  • 当生成下一个部分思考/推理文本时:调用onPartialThinking(PartialThinking)onPartialThinking(PartialThinking, PartialThinkingContext)(您可以实现其中任一方法)。根据 LLM 提供商的不同,部分思考文本可以包含一个或多个令牌。
  • 当生成下一个部分工具调用时:调用onPartialToolCall(PartialToolCall)onPartialToolCall(PartialToolCall, PartialToolCallContext)(您可以实现其中任一方法)。
  • 当 LLM 完成单个工具调用的流式传输时:调用onCompleteToolCall(CompleteToolCall)
  • 当 L
http://www.jsqmd.com/news/1057854/

相关文章:

  • 方差-协方差矩阵
  • NXP MKW36到MKW35低功耗蓝牙MCU迁移实战:硬件差异与IDE适配详解
  • 2026昌吉白蚁消杀防治金盾虫控青蚁卫士权威本土品牌 - 我叫一
  • 如何用10分钟语音数据快速训练高质量的AI变声模型:Retrieval-based-Voice-Conversion-WebUI完整指南
  • cmd之杀死某个TCP进程服务
  • BurpSuite Intruder爆破登录配置:6个关键错误与解决方案
  • Switch-KD:动态路由知识蒸馏,让轻量模型高效学习多模态大模型能力
  • 开源视频生成模型实战指南:从原理到本地部署
  • 混合线性动态网络建模与辨识:从扩散耦合与定向链接中还原系统结构
  • 解锁Twitch订阅专属内容:从零开始到高效观看的完整指南
  • 如何在5分钟内搭建你的MaxBot抢票机器人:告别手动抢票的烦恼
  • 2026重庆企业税务问题处理全指南与正规机构实力评测 - 起跑123
  • 全职合同里把弹性工作制写成无限制加班?海归留学生签署前的条文复核「蒸汽求职分享」
  • 电机控制调试利器:PC Master数据记录器原理与实战集成指南
  • YOLOv10端到端目标检测:取消NMS的统一建模范式
  • 基于Playwright构建高稳定UI自动化巡检体系:从设计到CI/CD集成
  • Django ASGI生产部署:Uvicorn+Postgres+Nginx全栈实践
  • Ubuntu 20.04 搭建 LEMP 栈:从原理到生产就绪的全链路实践
  • AI编程时代的企业级代码风控:静态分析与人工审查双保险机制
  • 184.不用第三方库!纯手写完整版扩散模型,MNIST手写数字生成,训练过程可视化
  • WordPress插件SQL注入漏洞实战:CVE-2024-10400复现与自动化利用
  • Docker基础 - Docker数据卷和数据管理
  • 2026年江浙沪皖注塑件加工厂家:南京区域TOP5盘点 - 起跑123
  • HyPeR框架:优化音频大模型推理延迟的主动暂停与感知增强技术
  • AI Agent长期记忆实战:MemOS本地部署与Dify/LangChain集成指南
  • i.MX处理器Flash存储选型指南:NOR、NAND与DiskOnChip深度解析
  • 开源计算机视觉项目easy12306深度剖析:基于深度学习的12306验证码识别算法原理与本地部署实战指南
  • HarmonyOS技术精讲之Background Tasks Kit(后台任务开发服务)——长时任务与前台服务深度结合
  • 视频显著性预测技术解析:从CNN到Transformer的模型演进与实战
  • GraphQL-Yoga + MongoDB Node.js 服务实战:防注入、连接池与Windows部署