在呼叫中心场景中,通过 API 直接从 AI 代理发起外呼电话,能显著提升联系效率,避免人工拨号瓶颈。这种方法将 LLM 编排与电话系统深度集成,支持实时对话处理、断线续传和数据收集,适用于保险、IT 支持等低中复杂度任务。核心优势在于 serverless 架构下弹性扩展,按需付费,同时通过 RAG 和自定义 schema 确保对话准确性和合规。
实现外呼的核心入口是 POST /call API,参数设计简洁且高度可配置。以 curl 示例为例,发送 JSON payload 即可触发呼叫:"data='{"bot_company":"Contoso","bot_name":"Amélie","phone_number":"+11234567890","task":"Help the customer...","agent_phone_number":"+33612345678","claim": [...] }'"。这里 bot_company 和 bot_name 定义代理身份,提升用户信任;phone_number 为目标号码,必须 E164 格式;task 是英文任务描述,如 “帮助客户填写保险理赔信息,收集硬件细节”;agent_phone_number 为代理回拨号码,支持转人工;claim 数组定义数据 schema,每项含 name(如 hardware_info)、type(text/datetime/phone_number/email)和可选 description,用于引导 LLM 收集结构化信息。该 API 瞬间桥接 LLM 与 telephony,无需额外队列,响应延迟主要受 LLM TTFT(Time to First Token)影响。
架构上,集成 Azure Communication Services 作为呼叫网关,处理 inbound/outbound 音频流;Cognitive Services 提供 STT(Speech-to-Text)和 TTS(Text-to-Speech),支持多语言实时翻译;OpenAI GPT-4o-nano(默认)或 GPT-4o 处理对话逻辑,结合 Redis 缓存历史上下文,避免重复查询。事件流经 Event Grid 推送到 Storage Queue,确保高可用;Cosmos DB 持久化 conversations、claims 和 reminders,支持后续报告查询,如 GET /report/{phone_number} 查看合成摘要、满意度评分和待办列表。RAG 通过 AI Search 注入领域知识,embedding 使用 text-embedding-3-large,索引 schema 固定(answer/context/vectors 等字段)。关键是全链路流式:用户语音 → STT → LLM prompt(含 claim/reminders)→ tool calls(如更新 claim)→ TTS → 播放,避免延迟累积。
为落地,提供参数配置清单。首先,config.yaml 中定义 conversation.initiate:task 默认 “收集理赔数据直到完整”;claim schema 如 [{"name": "incident_datetime", "type": "datetime"}],验证输入格式;lang 部分指定 default_short_code(如 fr-FR)和 availables 列表(pronunciations_en、short_code、voice 如 fr-FR-DeniseNeural)。features 通过 App Configuration 动态调整,无需重启:
- answer_hard_timeout_sec: 15(LLM 硬超时,超期报错)
- answer_soft_timeout_sec: 4(软超时,播报 “稍等”)
- phone_silence_timeout_sec: 20(静默警告)
- vad_threshold: 0.5(语音活动检测阈值,0.1-1)
- vad_silence_timeout_ms: 500
- recognition_retry_max: 3
部署清单(远程 Azure):
- 创建资源组(低写如 ccai-demo)。
- Provision Communication Services(系统托管身份),购买号码(voice+SMS)。
- 复制 config-remote-example.yaml → config.yaml,填入资源名、OpenAI endpoint/key、Speech 密钥。
- az login;make deploy name=my-rg(用 ghcr.io/clemlesne/call-center-ai:0.1.0)。
- make logs name=my-rg 监控。
本地迭代:make install(Rust/uv);make deploy-bicep deploy-post;devtunnel tunnel 暴露端口。
优化要点:选 GPT-4o-nano 降本提速(10-15x 贵但高效);PTU(Provisioned Throughput Units)减 TTFT 至秒级;Application Insights 追踪 call.answer.latency、aec.dropped。成本控制:1000 通 10min 通话月费约 $720(Communication $40、OpenAI $50+、Speech $150+、Container Apps $160),采样日志避 $300+。风险:POC 级,生产需加单元测试、私网、RAI 评估(harmful content filter);fallback 转人工 via agent_phone_number。
监控落地:Insights 指标如 call.aec.missed(回声取消失败)、custom metrics;OpenLLMetry 捕获 LLM spans。回滚策略:feature flags(如 recording_enabled=false);A/B 测试 prompts/chat_system_tpl。
此方案直接拨打 bot 号码模拟 inbound,或 API 外呼,扩展至 IVR / 回调。实际中,从 task 微调入手,claim 覆盖 80% 场景,即可上线。
资料来源:
- GitHub: microsoft/call-center-ai(API 示例、架构图、config 细节)。
(正文约 950 字)