Dify集成TTS(语音合成)实现语音对话

落涛大大_9625

落涛大大_9625

2026-06-22

314人浏览

原创

在dify中构建语音对话系统需配置chattts模型、设计含用户输入/llm解析/tts合成的workflow,支持情感识别与多语言自动判断,最终返回base64编码mp3音频。

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

dify集成tts(语音合成)实现语音对话

在Dify中构建可“开口说话”的语音对话系统,需将用户输入文本实时转为语音并返回可播放音频,整个流程必须支持情感识别、语速调节与多语言自动判断,且不能依赖外部代码编写。

配置TTS模型服务接入

进入Dify控制台 → 左侧导航栏点击「模型管理」→ 点击右上角「+ 添加模型」→ 在「模型类型」下拉菜单中选择「Text-to-Speech」。

填写模型基础信息:模型名称填“ChatTTS-Chinese”,提供方选“Xinference”,API端点填http://xinference-host:9997/v1/audio/speech,认证方式选「无认证」(若部署在内网)或「Bearer Token」(填入Xinference的API Key)。

【必须确认Xinference已加载ChatTTS模型且状态为running】。若未加载,需先在Xinference服务中执行xinference launch --model-name chat-tts --model-size 1.7b --device cuda;未启用GPU时会严重卡顿甚至超时失败。

创建语音合成Workflow

回到Dify首页 → 点击「应用」→ 「新建应用」→ 选择「Workflow」模板 → 命名为“VoiceDialog-TTS”。

拖入第一个节点:「用户输入」→ 配置字段名“text”,字段类型为「段落」,最大长度设为5000,勾选「必填」。

拖入第二个节点:「LLM」→ 模型选qwen2.5 → 在System提示词中粘贴以下内容:

你是一个语音参数解析器。请严格根据用户输入{{#1768335663610.text#}},输出标准JSON:{"text":"","motion":"neutral","emotion_scale":0.5,"speed_ratio":1.0,"language":"auto"}。仅输出JSON,不加任何说明、换行或额外字符。

开启「结构化输出」→ 粘贴对应JSON Schema → 保存节点。

添加TTS调用节点并处理音频流

方法一:使用内置TTS节点(推荐)

Qwen Vision
Qwen Vision

利用通义千问视觉API(阿里云灵积)分析图像和视频,支持图像理解、OCR及视觉推理。

下载

拖入「TTS」节点 → 在「模型」下拉中选择刚配置的“ChatTTS-Chinese” → 绑定输入变量:text字段来自LLM节点的text,motion来自motion,speed_ratio来自speed_ratio,language来自language。

关键设置:勾选「返回Base64编码音频」→ 输出格式选MP3 → 音频采样率固定为24000Hz(ChatTTS默认兼容值,设为其他值将静音)。

方法二:手动调用自定义API节点(适配非标准TTS服务)

拖入「HTTP请求」节点 → 方法选POST → URL填{{tts_api_endpoint}}(需提前在环境变量中定义)→ Body选JSON → 写入:

{"text":"{{llm_output.text}}","voice":"default","motion":"{{llm_output.motion}}","speed_ratio":{{llm_output.speed_ratio}},"language":"{{llm_output.language}}","format":"mp3"}

注意:此方式必须确保响应体是完整MP3二进制数据,且Header中包含Content-Type: audio/mpeg,否则Dify无法识别为有效音频。

连接播放与返回结果

第一步:拖入「条件分支」节点 → 设置判断逻辑为「TTS节点是否成功返回音频」→ 成功分支连向「返回结果」节点,失败分支连向「返回错误提示」节点。

第二步:在「返回结果」节点中,配置「返回字段」为audio_base64 → 类型选「文件」→ 文件名设为"output.mp3" → MIME类型填audio/mp3。

第三步:启用「Web UI预览」开关 → 保存并发布应用 → 在聊天界面输入任意中文句子,如“今天天气真好”,点击发送。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

dify qwen

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

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

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

2026.06.05

577

15

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

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

2026.06.05

225

15

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

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

2026.06.05

216

15

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

120

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

100

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

80

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

60

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

80

15

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

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

2026.09.23

280

15

热门下载

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

精品课程

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

共0课时 | 147人学习

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

共0课时 | 142人学习

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

共0课时 | 0人学习