基于 Azure 与 OpenAI 构建智能语音客服系统
Call Center AI 是一个基于 Azure Communication Services 和 OpenAI 的智能呼叫中心解决方案。它允许开发者通过 API 发起由 AI 代理拨打的电话,或直接接听来自配置号码的来电。该项目的目标是帮助团队在较短时间内为保险、IT 支持、客户服务等场景定制和部署智能语音助手。
功能特性
- AI 驱动的语音交互:集成 Azure OpenAI 服务,实现与客户的自然语言对话,自动处理复杂的对话流程和任务。
- 完整的通话生命周期管理:支持呼入和呼出电话,具备实时音频流、断线重连、通话录音和事件回调,确保通话的稳定性和连续性。
- 实时响应与低延迟:通过 WebSocket 实现音频流的实时双向传输,结合智能语音活动检测(VAD)和文本转语音(TTS)流式处理,提供流畅的对话体验。
- 动态工单收集:可在通话开始前动态定义需要收集的信息(如文本、日期时间等),AI 助手会在对话中自然地引导客户提供,并结构化输出。
- 高度可扩展的工具调用:内置插件系统,允许 AI 助手在对话中执行特定操作,如结束通话、创建新工单、转接人工坐席等,并可轻松扩展自定义工具。
- 多渠道支持:除了语音通话,还集成了 SMS 功能,可以在通话前后通过短信与客户互动,例如发送通话摘要或询问额外信息。
环境准备与部署
系统要求
- Python 3.10+
- 一个 Azure 订阅(需开通 Communication Services、OpenAI、Speech Services 等服务)
- (可选)一个 Twilio 账户(如果使用 Twilio 作为 SMS 提供商)
部署步骤
1. 克隆仓库 首先获取项目代码:
git clone https://github.com/your-repo/call-center-ai.git
cd call-center-ai
2. 安装依赖 进入项目目录后,安装所需的 Python 包:
pip install -r requirements.txt
3. 配置环境变量 项目支持从环境变量或 YAML 文件加载配置。复制示例配置文件并根据你的 Azure 资源进行修改:
cp config.example.yaml config.yaml
# 编辑 config.yaml 文件,填入你的 Azure Communication Services、OpenAI、Speech Services 等的连接信息和密钥
或者,你也可以将所有配置放入名为 CONFIG_JSON 的环境变量中(JSON 格式)。
4. 启动服务 使用 uvicorn 运行 FastAPI 应用:
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
核心 API 使用
发起 AI 代理拨打电话
通过 API 端点 /call 发起一个 POST 请求,即可让 AI 机器人主动呼叫指定的电话号码。以下是一个使用 Python requests 库的示例:
import requests
import json
url = "https://your-instance/call"
payload = {
: ,
: ,
: ,
: ,
: ,
: [
{: , : },
{: , : }
]
}
headers = {: }
response = requests.post(url, headers=headers, data=json.dumps(payload))
(response.json())

