← 返回全部文章

开源课程教你搭一个电话 AI Agent:从接听、搜索到语音回复

这个 GitHub 项目把实时语音、电话接入、房产搜索、语音合成和链路追踪串成一套课程,但它不是下载即用的免费客服系统。

现在的 AI Agent 不一定只待在网页聊天框里。一个开源课程项目,尝试把它接进电话:用户打进来,系统实时听懂语音,查询资料,再用语音回答。

项目名叫 realtime-phone-agents-course,主题是“Phone Calling Agents”。它用一个房产咨询场景,把实时语音 Agent 的主要部件串了起来。

它能做什么

按照仓库当前 README,这套课程最终希望完成几件事:

  • 通过 Twilio 接收和拨打电话;
  • 用 FastRTC 处理实时语音流;
  • 把语音转换成文字,再交给 Agent 理解;
  • 从房产数据中搜索符合条件的房源;
  • 用语音合成把结果说出来;
  • 用 Opik 记录调用链路、提示词和对话线程;
  • 把部分语音模型部署到 RunPod 的 GPU 环境。

它的案例是房产公司,Agent 可以处理类似区域、价格等组合条件。换成客服、预约、销售线索登记,也需要重新设计数据、提示词和业务流程,不能直接照搬。

课程怎么安排

项目按照 0 到 4 周组织:

第 0 周:看懂架构。 先认识电话入口、语音处理、 Agent 、搜索、模型服务和监控之间的关系。

**第 1 周:做实时语音 Agent **。 用 FastRTC 搭基础语音交互,再通过 Twilio 接入真实电话。仓库同时提供 Gradio 本地界面,适合先不接电话做演示。

第 2 周:做多条件搜索。 课程使用 Superlinked 处理文本、数字和分类条件,把“某个区域、某个预算”的查询接入 Agent 。

第 3 周:调整语音识别和合成。 课程涉及 Moonshine 、 Whisper 、 Faster Whisper 、 Kokoro 和 Orpheus 3B 等方案,部分模型可以本地或云端部署。

第 4 周:加多角色和可观测性。 不同 Agent 角色使用不同提示词,同时用 Opik 跟踪语音识别、模型回复、工具调用和语音合成过程。

真正跑起来,需要哪些东西

这不是一个只安装一个 Python 包就能完成的项目。仓库的 .env.example 和入门文档列出了多项配置,常见的包括:

  • Groq,用于模型调用;
  • OpenAI,用于部分自然语言查询;
  • Qdrant Cloud,用于向量数据和房产搜索;
  • Twilio,用于电话线路;
  • RunPod,用于托管部分语音模型;
  • Opik,用于追踪和调试;
  • Together AI,可作为 Orpheus 语音模型的云端方案;
  • ngrok,为本地 FastAPI 服务提供 Twilio 能访问的 HTTPS 地址。

这意味着运行成本和账号数量都不低。仓库是 MIT 许可,但 MIT 许可不代表 Twilio 、 RunPod 、模型 API 或电话费用免费。

适合谁

它更适合已经会一点 Python 、知道 API 和环境变量怎么配置,并且想理解实时语音 Agent 全链路的人。

如果只是想做一个简单的语音问答机器人,这套技术栈偏重。先用 Gradio 做本地演示,通常比一开始就买电话号码、配公网回调和部署 GPU 更合适。

不能把它当成什么

它不是开箱即用的商业呼叫中心,也不是经过行业认证的客服系统。仓库里的“production-ready”更接近课程的工程目标,不能代替真正上线前的压测、权限控制、录音合规、数据留存、故障转移和人工接管。

电话内容还可能包含姓名、地址、预算和联系方式。接入真实用户前,要明确告知录音和数据处理方式,并确认语音模型、日志系统和云服务分别会保存什么。

我的判断

这个项目值得看的地方,是它没有只展示一个聊天页面,而是把电话接入、实时音频、 Agent 工具、结构化搜索、语音模型和监控放进同一条学习路线里。

但它更像一门工程课程,而不是一个可以直接替代人工客服的产品。想跟着做,建议先完成本地 Gradio 演示,再接测试电话,最后才考虑公网部署和真实用户。

项目地址: https://github.com/neural-maze/realtime-phone-agents-course

来源:https://github.com/neural-maze/realtime-phone-agents-course