游乐游手机版
首页/AI热点日报/热点详情

Dify中配置语音识别与合成服务指南

类型:热点整理2026-06-29
如果希望在Dify平台上真正实现流畅的语音交互功能,STT(语音识别)与TTS(语音合成)这两个后台服务必须配置妥当。这并非简单的勾选开关或填写几个API密钥就能轻松完成——音频格式一旦不匹配,ASR节点便会直接失效;采样率若未校准,识别准确率则可能断崖式下降。以下是我整理的一份配置清单,严格遵循这

如果希望在Dify平台上真正实现流畅的语音交互功能,STT(语音识别)与TTS(语音合成)这两个后台服务必须配置妥当。这并非简单的勾选开关或填写几个API密钥就能轻松完成——音频格式一旦不匹配,ASR节点便会直接失效;采样率若未校准,识别准确率则可能断崖式下降。以下是我整理的一份配置清单,严格遵循这些步骤基本不会出现问题。

如何在Dify中配置语音识别(STT)和语音合成(TTS)服务

为了让AI应用既能“听懂用户说话”又能“开口回答问题”,STT与TTS两个环节缺一不可。音频格式、采样率、输出格式等细节参数必须在工作流中准确串联,最终目标是将端到端延迟控制在2.8秒以内,确保交互体验流畅自然。

启用Dify平台级语音服务开关

首先登录Dify控制台,进入【设置】→【系统配置】→【语音服务】。将「语音识别服务」与「语音合成服务」这两个全局开关同时开启。请注意,该操作需要管理员权限,普通成员无法修改。如果页面上未显示此选项,说明当前Dify版本低于0.8.0,需要升级或通过Docker环境变量强制启用:tts_service_enabled=trueasr_service_enabled=true

配置完成后重启Dify使设置生效。若使用Docker部署,执行 docker restart dify;若为二进制部署,手动终止进程后重新启动主程序即可。

配置语音识别(STT/ASR)服务

接下来进入【数据集】→【语音识别模型】→【新增模型】,这里有几种可选方式。

方式一:接入阿里云智能语音交互API
在「服务类型」中选择「HTTP API」,填写以下字段:
URL:https://nls-gateway.cn-shanghai.aliyuncs.com/stream/v1/asr
请求方法选择POST
Headers中添加 Authorization: Bearer {{api_token}}Content-Type: application/json
Body使用JSON模板,请务必确保format字段设为wa v,sample_rate设为16000,否则90%的中文语音将无法正确识别——这是最容易踩坑的地方,必须严格注意。

方式二:本地部署Whisper推理服务
搭建一个Flask服务监听/whisper端点,接收base64编码的WA V音频,返回JSON格式文本。在Dify中配置为「自定义模型」,协议使用HTTP,超时时间设置为30秒。原因是:1分钟的语音在CPU上进行推理,有时耗时可能超过25秒。

方式三:使用Dify内置通用模型(仅限SaaS版)
直接下拉选择「通用中文模型(v2.3)」即可,无需填写密钥。该模型针对客服对话、会议记录等场景进行了优化,但无法针对行业术语进行微调。

配置语音合成(TTS)服务

首先确认语音引擎是否已正确安装。在【设置】→【插件管理】中检查「TTS引擎」是否已出现在列表中。若未显示,需手动上传插件包或通过CLI命令安装:dify-cli plugin install tts-azuredify-cli plugin install tts-sambert

然后配置具体引擎参数。以Azure Cognitive Services为例,在插件配置页填写:
• API Key:从Azure门户复制的密钥
• Region:例如eastasia(对应中国东部)
• Voice ID:推荐选择zh-CN-XiaoxiaoNeural,该女声自然度较高
• Output Format:必须选择包含24khz的格式,例如audio-24khz-96kbitrate-mono-mp3,否则Dify工作流节点将输出静音音频

填写完毕后,在配置页底部点击「测试合成」,输入“你好,今天天气不错”,等待音频生成。如果返回空文件或播放无声音,请立即检查两处:① Azure订阅是否已开通语音服务;② 返回的Content-Type是否为audio/mp3,切勿误设为text/plain

在Workflow中串联STT与TTS节点

① 新建一个Workflow应用,拖入「语音输入」节点作为起点。配置「音频格式」为WA V、「采样率」为16000、「声道数」为1。
② 接入「ASR识别」节点,选择刚才配置好的ASR模型。该节点的输出变量名称为asr_text
③ 再接「LLM推理」节点,使用提示词提取用户意图并润色文本,输出变量设置为tts_input
④ 然后接入「TTS合成」节点,选择已配置好的TTS引擎,输入字段绑定为{{tts_input}}
⑤ 最后接入「响应输出」节点,在「媒体类型」中选择「音频」,字段值填写{{tts_output.audio_url}}

保存发布后,使用手机录制一段10秒的中文语音上传进行测试。端到端延迟应稳定在2.8秒以内。如果超过4秒,请优先检查ASR节点是否启用了噪声抑制预处理模块——这一步骤容易被忽视,却对识别效果影响巨大。

来源:https://www.php.cn/faq/2660141.html?uid=1589237

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。