Hotdry.
ai-systems

通过 Azure /call API 工程化 AI Agent 主动拨打电话

利用 Microsoft Call Center AI 的 /call API 派遣 AI agent 主动拨出电话,支持 GPT-4o-mini 流式语音、RAG 检索、中断感知工具调用,实现呼叫中心 outbound 自动化。

在呼叫中心场景中,AI agent 主动发起 outbound 电话呼叫,能显著提升运营效率,避免人工拨号的低效与疲劳。相较传统 inbound 模式,outbound 通过单一 API 调用即可触发完整对话流程,支持实时流式语音交互、RAG 知识检索及工具调用,确保 agent 在复杂任务中(如保险理赔、IT 支持)保持上下文连贯性和响应敏捷性。该方案的核心在于最小化延迟、处理用户中断,并提供可观测的落地参数。

Microsoft 的 Call Center AI 项目提供了现成实现:通过 POST /call API,AI agent 可直接拨打指定 phone_number 执行 task。例如,IT 支持场景下,payload 可指定 bot_company(如 “Contoso”)、bot_name(如 “Amélie”)、目标号码、任务描述(如 “帮助客户解决数字工作场所问题,并收集理赔信息”),以及 claim schema(如 hardware_info:text, first_seen:datetime)。系统基于 Azure Communication Services 处理呼叫接入,结合 GPT-4o-mini(内部称 gpt-4.1-nano)驱动对话逻辑,支持实时 STT(Speech-to-Text)和 TTS(Text-to-Speech)流式转换,避免传统批处理延迟。

架构上,呼叫事件经 Event Grid 推送到队列,App(Container App 部署)处理 LLM 调用:用户语音经 Cognitive Services STT 转文本,注入 RAG(AI Search 索引,embedding via ADA),LLM 生成响应(含工具调用,如填充 claim 或创建 reminder),再经 TTS 转为语音回传。关键是中断感知:VAD(Voice Activity Detection)阈值默认 0.5,沉默超时 500ms,切断超时 250ms;若用户沉默 20s,agent 发送警告消息。支持断线续传,对话历史存 Cosmos DB,Redis 缓存加速重连。引用项目文档,该系统处理中低复杂度呼叫,24/7 可用,支持多语言(fr-FR, zh-CN 等)和自定义神经语音。

工程落地时,优先优化延迟与可靠性。LLM 侧,使用 gpt-4o-mini 降低 TTFT(Time to First Token),结合 PTU(Provisioned Throughput Units)可减半延迟;配置 answer_soft_timeout_sec=4s(发送等待消息)、answer_hard_timeout_sec=15s(中止并报错)。RAG 检索限 3750 tokens / 对话,确保 grounding;工具调用遵循结构化 schema,验证类型(text/datetime/email/phone),生成 to-do lists 和 reminders(如 “明日 14:30 跟进事故”)。特征标志(如 App Configuration)动态控制:recording_enabled(需 Storage 容器)、slow_llm_for_chat、recognition_retry_max=3。监控用 Application Insights,追踪 call.answer.latency、aec.droped(回声消除失败)、LLM tokens(OpenLLMetry 语义约定)。

部署清单如下,确保 serverless 弹性:

  1. 前提资源:Azure 资源组(e.g. ccai-demo)、Communication Services(系统托管身份)、购买号码(支持 voice/SMS)。
  2. 配置:config.yaml 指定 LLM endpoint(Azure OpenAI)、Speech 服务、AI Search 索引(字段:answer/context/vectors@1536)。本地用 make install/deploy-bicep;远程 make deploy name=my-rg。
  3. API 触发:curl POST /call,示例 payload 见上,支持自定义 task/claim。测试用 local.py 无需真实呼叫。
  4. 定制:prompts(如 hello_tpl 多变体增强自然度)、claim schema(添加 incident_description:text)、语言(default_short_code: zh-CN, voice: zh-CN-XiaoqiuNeural)。
  5. 监控与回滚:Insights 仪表盘观 latency/token;若延迟 > 2s,fallback 人类 agent(transfer);成本估算 1000x10min calls ~720 USD/mo,优先 Basic SKU。
  6. 安全:Content Safety 过滤(0-7 阈值)、PII 匿名,fine-tune 用历史转录(合规后)。

风险控制:沉默 / 中断阈值调优防假阳性(vad_threshold 0.4-0.6 测试);LLM 幻觉用 insights LLM(gpt-4.1)后验校验;生产前加单元测试、multi-region、多 vNET。私有数据讨论需 RAG 最佳实践,Redis 防缓存污染。

实际参数示例(config.yaml 片段):

conversation:
  initiate:
    task: "收集 IT 支持 claim,直至问题解决。"
    claim:
      - name: hardware_info
        type: text
      - name: first_seen
        type: datetime
features:  # App Config
  phone_silence_timeout_sec: 20
  vad_threshold: 0.5

此方案适用于保险 / IT / 客服 outbound,落地周期数小时。资料来源:Microsoft Call Center AI GitHub(https://github.com/microsoft/call-center-ai),包含 demo 视频与完整部署脚本。

(正文字数:1028)

查看归档