PaiFlow集成千问TTS:超拟人语音合成新方案

PaiFlow集成千问TTS:超拟人语音合成新方案

PaiFlow 之前的 TTS 能力,主要是围绕讯飞的超拟人语音合成来做的。效果没毛病,链路也跑得通,讯飞也给新人提供了免费的额度,但无奈我购买的额度用完了,再购买好贵,于是就又被迫接入了阿里的千问 TTS。😄

接下来,我会通过 qwen-tts 的接入全过程,带大家搞清楚在 PaiFlow 现有的架构上,如何集成一个新的 TTS 服务(大家可以尝试接入其他厂商的 TTS,比如说智谱)。

回到上一篇插件节点执行器。PluginNodeExecutor 只做插件节点的执行,具体怎么调工具完全由 PluginServiceClient 接管。

PaiFlow集成千问TTS:超拟人语音合成新方案

在 PluginServiceClient 千问 Qwen 教程 中,我们注入了 List

,通过 @Autowired private List

smartTTSIntegration就可以找到实现了 TtsIntegration 接口的 Bean(比如 QwenTtsIntegration 和 IflytekTtsIntegration ),并将它们全部注入到这个 List 中。

TtsIntegration 接口定义的比较简单,source 方法返回插件的标识符,call 方法规定了所有 TTS 实现都必须接收 NodeState 和 inputs 作为参数,并返回一个包含结果的 Map。确保无论底层调用哪个厂商的服务,对于上层调用者 PluginServiceClient 来说,调用方式都是一致的。


source 的配置在 application.yml 文件中,可选项目前有 spark 和 qwen,通过这个配置就能切换到 SmartTTSIntegration 或者 QwenTTSIntegration 来完成超拟人音频内置插件的执行。

PaiFlow集成千问TTS:超拟人语音合成新方案

接下来,我们在 toolCall 方法执行的过程中调用 getTtsIntegration 方法判断 ttsSource 的值,如果是 qwen 就会执行 QwenTTSIntegratoin 的 call 方法。

PaiFlow集成千问TTS:超拟人语音合成新方案

通过流程图来表示就是下图这样。

[MISSING IMAGE: , ] 不同厂商需要不同的配置参数,千问的 tts 需要配置 apiKey、model、url 等参数。

PaiFlow集成千问TTS:超拟人语音合成新方案

其值我们放在 application.yml 文件中。

PaiFlow集成千问TTS:超拟人语音合成新方案

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:Ai探索者,转载请注明出处:https://javaforall.net/258048.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月13日 上午9:35
下一篇 2026年3月13日 上午9:35


相关推荐

关注全栈程序员社区公众号