华琪软通国内电话信息领域中的领跑者
设为首页 | 加入收藏 | 联系我们
你所在的位置: 首页 > 公司新闻
华琪软通HaKey SoftComm

公司新闻

 Asterisk AI语音代理 v3.0 这是一个开源的AI语音代理,通过Asterisk REST接口(ARI)与Asterisk/FreePBX集成。它采用生产就绪的双容器架构,具有混合ARI呼叫控制、SessionStore状态管理、ExternalMedia RTP集成,用于可靠的实时音频捕获,以及基于文件的TTS回放,确保稳健的对话处理。


🌟 为什么选择Asterisk AI语音代理?

这个项目旨在成为Asterisk最强大、最灵活、最易用的开源AI语音代理。以下是其特点:

  • Asterisk原生:无需外部电话供应商。直接与您现有的Asterisk/FreePBX安装配合工作。 

  • 真正开源:整个项目都是开源的(MIT许可),为您提供完全的透明度和控制权。 

  • 混合AI:在云端和本地AI提供商之间无缝切换,让您体验两者的最佳优势。 

  • 生产就绪:这不仅是个演示,而是经过实战检验的生产就绪解决方案。 成本效益高:使用本地AI,您可以拥有可预测的成本,无需按分钟付费。

✨ 功能 

模块化AI提供商:轻松在云端和本地AI提供商之间切换

✅ Deepgram语音代理:完全实现,提供强大的基于云的解决方案。

✅ OpenAI实时功能:开箱即用——只需在.env文件中设置OPENAI_API_KEY并选择OpenAI模板/提供商。

✅ 本地AI服务器:专用容器运行本地模型(Vosk用于STT,Llama用于LLM,Piper用于TTS),确保完全控制和隐私。

高性能架构:精简的ai-engine用于呼叫控制,独立的local-ai-server用于繁重的AI处理,确保稳定性和可扩展性。

混合ARI架构:使用ARI进行呼叫控制,采用"接听来电→创建混合桥→添加来电者→创建ExternalMedia并添加到桥"流程。

SessionStore状态管理:集中化、类型化的存储,用于所有呼叫会话状态,替代传统基于字典的状态管理。

实时通信:通过ARI指令的基于文件的回放,从Asterisk捕获ExternalMedia RTP上游;engine↔AI服务器使用WebSocket通信。

基于Docker的部署:使用Docker Compose进行简单的两服务编排。

可定制:在简单的YAML文件中配置问候语、AI角色和语音个性。

🚀 快速入门 按照这3个步骤获取工作正常的代理。

克隆并安装

git clone https://github.com/hkjarral/Asterisk-AI-Voice-Agent.git

cd Asterisk-AI-Voice-Agent

./install.sh

在提示时选择配置模板。安装程序将设置媒体路径符号链接,并可选择启动服务。

验证健康状况 curl http://127.0.0.1:15000/health 预期看到"audiosocket_listening": true。

FreePBX拨号计划(AudioSocket优先):添加docs/FreePBX-Integration-Guide.md中的上下文(from-ai-agent等),然后将测试呼叫路由到该上下文。 Hello World测试(可选,本地AI):

python3 tests/test_local_ai_server_protocol.py # 在local-ai-server运行的情况下 应报告3/3测试通过。

OpenAI实时快速入门(仅云端) 如果您希望开箱即用OpenAI实时功能:

在./install.sh期间,在提示时选择OpenAI模板(它会将config/ai-agent.openai-agent.yaml写入config/ai-agent.yaml)。

在.env中添加您的API密钥:

echo "OPENAI_API_KEY=sk-..." >> .env

仅启动引擎(无需本地模型):

docker-compose up -d ai-engine

按FreePBX指南中的说明路由测试呼叫。

先决条件

Asterisk 18+或FreePBX 15+,启用ARI。

已安装Docker和Docker Compose。

Git用于克隆存储库。

先决条件检查 验证必需的Asterisk模块已加载:

asterisk -rx "module show like res_ari_applications"

asterisk -rx "module show like app_audiosocket"

预期两者都显示Status: Running。如果Asterisk < 18,请升级或在FreePBX Distro上运行:asterisk-switch-version(又名asterisk-version-switch)以选择18+。

示例输出:

Module Description Use Count Status Support Level res_ari_applications.so RESTful API module - Stasis application 0 Running core 1 modules loaded

Module Description Use Count Status Support Level app_audiosocket.so AudioSocket Application 20 Running extended 1 modules loaded

 

 

合作伙伴:

友情链接:

立即咨询