讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在Dify中实现基于流式输出(Streaming)的中间状态实时展示

秋萱同学_5905

秋萱同学_5905

发布时间:2026-07-10 17:32:28

|

304人浏览过

|

来源于php中文网

原创

Dify流式输出需主动注入中间状态事件才能实时展示过程;启用工作流级流式响应是网络层前提,再通过Text或Code节点发送事件,前端依event类型区分中间态与终态。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如何在dify中实现基于流式输出(streaming)的中间状态实时展示

理解Dify流式输出与中间状态的区别

在Dify中启用流式输出(Streaming)本身不等于自动展示中间状态;默认情况下,即使开启streaming,Answer节点仍只在最终结果生成完毕后才推送完整文本。要让“检索中…”“思考中…”“调用插件xxx…”这类中间过程实时浮现,必须主动触发并注入非最终态的事件流。

启用工作流级流式响应

进入Dify控制台 → 选择目标应用 → 点击「工作流」或「Chatflow」编辑页 → 在右上角「发布设置」中勾选【启用流式响应】。

【未勾选此项,后续所有中间状态事件均不会被前端接收】

该选项会强制后端将response_mode设为streaming,并启用SSE长连接通道,是中间状态推送的网络层前提。

在工作流中插入中间状态事件节点

方法一:使用内置「Text」节点模拟中间反馈

拖入一个Text节点 → 在内容框中输入纯文本如“正在查询知识库…” → 将其放置在RAG检索节点之前 → 连接至后续节点。Dify会在执行到该节点时立即向SSE流推送一条data: {"event":"text","data":"正在查询知识库…"}消息。

方法二:通过「Code」节点发送自定义QueueTextChunkEvent

添加Code节点 → 语言选Python → 输入以下代码:

```python
from core.model_runtime.entities.llm_entities import LLMResultChunk
from events.message_event import QueueTextChunkEvent

# 发送中间状态
event = QueueTextChunkEvent(
  task_id=kwargs['task_id'],
  text="? 正在解析用户意图…",
  chunk_index=0
)
self._queue.append(event)
```

Upload audio to AIOZ Stream
Upload audio to AIOZ Stream

快速上传音频至 AIOZ Stream API。支持默认或自定义编码配置创建音频对象,上传文件并完成处理后返回音频链接。

下载

注意:此方法需部署自定义Dify后端(非SaaS版),且Code节点必须配置为同步执行(即不勾选“异步运行”),否则事件可能丢失。

前端监听并区分中间态与终态

第一步:创建EventSource连接,URL末尾添加?response_mode=streaming参数

第二步:监听onmessage事件,对每条data:行做JSON解析

第三步:根据event字段判断类型——当event为"text"且data.content不包含[FINAL]标识时,视为中间状态,追加到预览区并保持光标在末尾;当event为"agent_final"或data包含"final_answer":true时,替换整个预览区内容并禁用加载动画。

关键细节:Dify不会自动给中间状态打标记,你必须在Text节点内容里手动加入可识别前缀(如“⏳”“?”),或在Code节点中统一写入{"status":"intermediate","msg":"..."}结构体,否则前端无法可靠区分“这是中间步骤”还是“这是最终答案的第一个字”。

避免中间状态错乱的三个硬性约束

① 所有中间状态节点必须严格串行排布,不可与LLM节点并行——若RAG检索和LLM生成同时启动,它们各自触发的text事件会按完成时间混序到达,导致“生成回复中…”出现在“检索完成”之前。

② 中间Text节点的内容长度建议控制在20字符内,过长会导致SSE单帧超时断连;超过40字符应拆分为两个Text节点分两次推送。

③ 若使用Code节点注入事件,必须确保其执行耗时<500ms,否则会阻塞后续节点调度,引发整个工作流超时中断。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

相关专题

更多
Notion AI全功能使用教程
Notion AI全功能使用教程

本专题围绕 Notion AI 基础入门展开,涵盖注册登录、界面操作、核心功能使用及常见应用技巧,帮助新手快速熟悉 Notion AI 的内容整理、智能创作与协同办公能力,轻松提升学习与工作效率。

329

2026.05.27

Notion AI智能写作实操指南
Notion AI智能写作实操指南

本专题聚焦 Notion AI 智能写作功能,涵盖 AI 辅助写作、内容生成、文案润色、多语言翻译等实用技巧,帮助用户快速提升文章创作、办公整理与内容输出效率,轻松完成多场景写作需求。

308

2026.05.27

Notion AI项目管理零基础入门
Notion AI项目管理零基础入门

本专题聚焦Notion AI项目管理,系统整理项目看板搭建、任务分配、进度追踪及团队协作等核心内容,助力用户高效管理项目全流程。适合初学者快速掌握Notion AI在项目管理中的实用技巧。

259

2026.05.27

Dify 本地部署与企业配置
Dify 本地部署与企业配置

本专题系统讲解 Dify 从零开始的本地部署方法与企业环境配置实践,涵盖 Docker 安装、依赖准备、数据库初始化、反向代理、参数调优、安全加固与多用户开通,帮助开发者与企业团队快速搭建稳定可用的 Dify 平台。

377

2026.06.05

Dify Agent智能体开发实战教程
Dify Agent智能体开发实战教程

本专题聚焦 Dify Agent 智能体的设计与开发,涵盖 Agent 模式选择、工具集成、提示词设计、多步推理、上下文记忆与多 Agent 协作,帮助开发者构建可执行复杂业务任务的智能体应用。

205

2026.06.05

Dify RAG知识库构建实战教程
Dify RAG知识库构建实战教程

本专题围绕 Dify RAG 知识库的全流程实践展开,从文档导入、分段切片、向量化到混合检索、重排优化与召回评估,帮助你打造高准确率、低幻觉的企业知识问答应用。

196

2026.06.05

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

0

2026.09.23

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

0

2026.09.23

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

0

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Dify零基础教程
Dify零基础教程

共0课时 | 137人学习

学习Agent,从Dify开始
学习Agent,从Dify开始

共0课时 | 126人学习

Dify 部署与运维指南
Dify 部署与运维指南

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn