Agent Voice Response (AVR) 是一款基于 Asterisk 构建的 Docker 可部署对话式 AI 系统。选择您偏好的 ASR、LLM 和 TTS 提供商,即可完全灵活地控制您的语音 AI 解决方案。

AVR Infrastructure(avr-infra)项目旨在启动 Agent Voice Response 应用程序,它将启动与 Asterisk Audiosocket 集成的 Core、ASR、LLM 和 TTS 服务。此外,该项目还运行一个带有基本 PJSIP 配置的 Docker Asterisk。要进行测试,请使用 TCP 以用户名 1000 和密码 1000 注册一个 SIP 客户端。一旦在应用程序中配置好 AI Agent,就会生成分机。要呼叫的分机将显示在 GUI 上。
项目概述
该项目允许您部署以下服务:
- AVR Core:管理客户与 VoIP PBX(例如 Asterisk)之间的交互,处理音频流并管理与 ASR、LLM 和 TTS 服务的集成。
- ASR 服务:将语音转换为文本。该基础架构支持 Google Cloud Speech-to-Text、Deepgram 等服务。
- LLM 服务:处理客户交互的逻辑和响应。例如,可以集成 OpenAI、OpenRouter.ai 和 Typebot 来生成基于 AI 的响应。
- TTS 服务:将文本回复转换为音频,使 AVR Core 能够以语音方式回复客户。支持 Google Cloud Text-to-Speech、Deepgram 和 ElevenLabs 等服务。
此架构允许您根据需要定制和交换 ASR、LLM 和 TTS 提供程序。
注意:最新版本的语音转语音功能:AVR 现在支持与 OpenAI Realtime 和 Ultravox Speech-to-Speech 集成。您可以在docker-compose-openai-realtime.yml或docker-compose-ultravox.yml文件中找到示例配置。
如果您要集成的提供商不支持 ASR 而仅支持 Speech-to-Text,项目也实现了对此的支持。只需在 avr-core 和您的 STT 容器之间添加 avr-asr-to-stt 容器。您可以在 docker-compose-elevenlabs.yml 文件中找到使用 ElevenLabs STT 的示例。
主要特点
- 模块化架构:通过 API 即可使用任何 ASR、LLM 或 TTS 服务。
- 实时音频流:管理客户和服务之间的实时互动。
- 简单配置:通过配置环境变量来设置您的 ASR、LLM 和 TTS 提供商。
- 可扩展设计:易于扩展并与不同的服务和 AI 提供商集成。
工作原理
流程概述:
1. AVR 核心从 Asterisk PBX 接收音频流。
2. 音频发送到 ASR 服务,将语音转录为文本。
3. 转录文本转发到 LLM 服务,生成 AI 驱动的响应。
4. 生成的响应发送到 TTS 服务,将文本转换回语音。
5. 语音通过 Asterisk 播放回客户。
项目地址:
https://github.com/agentvoiceresponse/avr-infra
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/60673.html