Hotdry.
ai-systems

用 Twilio SMS 增强 Microsoft Call Center AI:无服务器语音代理呼叫中心集成

基于开源 call-center-ai 项目,集成 Twilio SMS 实现 API 触发 AI 代理拨打电话,支持实时 TTS/STT、状态管理和错误恢复的工程参数与部署清单。

Microsoft call-center-ai 项目提供了一个完整的开源框架,用于构建 AI 驱动的呼叫中心,支持通过 API 触发 AI 代理拨打或接听电话,实现实时语音交互。该项目主要依赖 Azure Communication Services 处理核心电话通话,但通过简单配置即可集成 Twilio SMS,提升多渠道通信能力,形成无服务器语音代理呼叫中心。这种集成特别适用于 IT 支持、保险理赔或客服场景,能处理低至中等复杂度任务,同时确保状态连续性和错误恢复。

核心集成优势

将 Twilio SMS 与 call-center-ai 结合,能扩展项目从纯语音到语音 + 短信的混合交互。项目默认使用 Azure Communication Services (ACS) 管理入站 / 出站呼叫,支持专用电话号码,但 SMS 部分可选 Twilio,避免单一供应商锁定。API 调用示例中,可指定 bot_company、bot_name、phone_number 和 task,触发代理拨打目标号码,同时 SMS 用于补充信息收集或回调通知。这种设计实现 24/7 可用性,代理可生成待办事项、RAG 检索内部文档,并检测越狱尝试。

证据显示,项目架构采用云原生容器化部署(Azure Container Apps),结合 Redis 缓存对话状态,确保断线后 3 小时内可恢复(callback_timeout_hour=3)。实时流式处理避免延迟:STT 使用 Azure Cognitive Services 实时转录,TTS 合成自然语音,支持多语言(如 fr-FR-DeniseNeural)。Twilio SMS 配置后,代理可在通话中发送确认码或后续提醒,形成闭环。

可落地部署参数清单

要实现 Twilio 集成,首先准备 Azure 资源组、ACS 资源和电话号码(支持入站 / 出站语音,SMS 可选)。本地开发需 Rust、uv 和 make install;远程部署用 Bicep IaC。

  1. config.yaml SMS 配置(核心集成点):

    sms:
      mode: twilio
      twilio:
        account_sid: "your_twilio_account_sid"
        auth_token: "your_twilio_auth_token"
        phone_number: "+1234567890"
    

    此配置启用 Twilio 处理 SMS,代理可通过工具调用发送文本,如预约确认。测试时,确保 Twilio 号码支持 SMS,并验证 webhook 路由回代理。

  2. 通话超时与 VAD 参数(实时性保障):

    参数 默认值 推荐调优 说明
    answer_hard_timeout_sec 15 20 LLM 响应超时,超出播放错误提示
    answer_soft_timeout_sec 4 6 等待中提示阈值,避免用户感知延迟
    phone_silence_timeout_sec 20 15 静音警告,避免挂断
    vad_silence_timeout_ms 500 600 语音活动检测静音阈值
    vad_threshold 0.5 0.6 VAD 敏感度,防噪音干扰

    这些参数通过 App Configuration 动态调整,无需重启。监控 Application Insights 中的 call.answer.latency,确保 <2s。

  3. 状态管理与错误恢复

    • Redis 缓存:存储 conversation、claim、reminders,支持断线续传。键 TTL 默认 3h。
    • Claim Schema:自定义字段如 {"name": "caller_email", "type": "email"},验证 E164 电话格式。
    • 错误恢复:recognition_retry_max=3,重试 STT;slow_llm_for_chat=false,使用 gpt-4o-mini 加速。
    • 人类回退:feature flag 启用,转接人工代理。
  4. 部署清单

    • 远程:make deploy name=my-rg,使用 ghcr.io/clemlesne/call-center-ai:main 镜像。
    • 本地:make deploy-bicep deploy-post + devtunnel,API at localhost:8080。
    • RAG 集成:AI Search 索引 schema(answer、context、vectors:1536 dims),上传企业文档。
    • 监控:OpenLLMetry 追踪 LLM token/latency;自定义 metrics 如 call.aec.dropped。

成本估算(1000 通 10min 通话 / 月):ACS $40 + OpenAI $50 + Speech $150 ≈ $720。生产化需 vNET、私有端点。

工程实践要点

集成后,API POST /call 触发代理:"task": "IT 支持,收集 hardware_info"。代理使用 GPT-4o-mini(10-15x 成本优于 GPT-4o),RAG 检索敏感数据,moderation 阈值 0-7 级过滤。断线时,Redis 恢复最后 messages [] 和 next.action。

引用自 GitHub repo:“支持断线后恢复对话,并存储以供未来参考。” 实际部署中,优化 PTU 部署 OpenAI 减 latency 50%。

风险控制:POC 阶段加单元测试、multi-region;启用 recording_enabled=true 存 Azure Storage。

最后,报告 API /report/{phone_number} 查看 claim、synthesis(satisfaction: high)。

资料来源

(正文 1056 字)

查看归档