Bolna 对话式语音代理
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/deploy-conversational-voice-agents-with-bolna 技能。
技能介绍
要解决的问题
传统语音代理开发中,团队需要分别对接电话网络、语音识别(ASR)、大语言模型(LLM)和语音合成(TTS)多个独立系统。每个环节都有自己的SDK、认证方式、延迟特性和错误处理逻辑。把这些组件串成一个端到端可用的语音对话系统,往往意味着大量胶水代码和复杂的本地配置。
技能如何工作
Bolna 通过一个基于 Docker Compose 的编排服务 将这些环节统一封装。核心思路是:把电话接入、ASR、LLM、TTS 各自抽象为可插拔的 provider 层,然后在统一的编排框架下协调它们的调用顺序和数据流转。
关键能力包括:
- 支持
Twilio和Plivo两种电话提供商,覆盖主流 SIP 中继和号码管理方案 - 将 ASR、LLM、TTS 的凭证配置与核心服务解耦,便于切换不同供应商
- 提供
local_setup容器化方案,把本地开发环境收敛到一套docker compose文件中 - 容器启动后即可通过编排接口创建代理并触发外呼
典型工作流:
- 配置电话提供商账号(Twilio 或 Plivo),获取号码和凭证
- 在编排服务中注册 ASR/LLM/TTS 提供商凭证
- 定义代理的对话逻辑和语音参数
- 通过接口指示代理发起呼叫
适用边界与注意点
- 本技能聚焦于编排层和部署层,不包含对话逻辑设计或提示词工程的最佳实践
- 本地测试电话功能需要
ngrok等隧道工具,因为 Twilio/Plivo 要求公网可访问的回调地址 - 生产环境需要关注语音流的端到端延迟,ASR 和 TTS 的选择会直接影响对话自然度
- 当前编排方案以 Docker Compose 为主,大规模集群部署需要自行扩展
- 详细 API 文档和高级配置参考 Bolna 官方文档
使用场景
- 搭建本地语音对话原型,需要用 Twilio 或 Plivo 接打电话并跑通 ASR 到 LLM 再到 TTS 的完整链路
- 团队想把客服通话的语音识别、大模型应答和语音合成换成自选供应商,在统一编排服务里切换凭证
- 要在测试机上持续运行一个可外呼的语音代理,通过 docker compose 后台启动 Bolna 与电话服务容器
- 准备上线前的电话回调联调,需要用 ngrok 暴露本地服务以便 Twilio 或 Plivo 能访问回调地址
适合人员
- 需要快速验证语音代理可行性的后端工程师,诉求是用现成编排服务跑通通话与模型链路,减少胶水代码
- 负责生产环境容器化交付的运维工程师,诉求是把电话、ASR、LLM、TTS 服务统一纳入 docker compose 管理
- 正在选型语音供应商的产品技术负责人,诉求是在不改架构的前提下对比不同 ASR/TTS 供应商的对话效果
- 对接 Twilio 或 Plivo 的集成开发工程师,诉求是通过统一接口配置号码、凭证并触发外呼,缩短联调时间