rapidaai/voice-ai
GitHub: rapidaai/voice-ai
一个开源的端到端语音 AI 编排平台,提供实时音频流处理、LLM 无关架构与生产级可观测性,简化语音代理的构建与部署。
Stars: 745 | Forks: 191
# Rapida:端到端语音编排平台
[Rapida](https://rapida.ai) 是一个开源平台,用于大规模设计、构建和部署语音代理。
它围绕三个核心原则构建:
- **可靠** — 专为生产工作负载、实时音频和容错执行设计
- **可观测** — 对调用、延迟、指标和工具使用提供深度可见性
- **可定制** — 灵活的架构,可适配任何 LLM、工作流或企业技术栈
Rapida 提供了一个 **平台** 和一个 **框架**,用于构建真实世界的语音代理——从低延迟音频流处理到编排、监控和集成。
Rapida 使用 **Go** 编写,并通过高度优化的 [gRPC](https://github.com/grpc/grpc-go) 协议实现快速、高效的双向通信。
[](https://github.com/rapidaai/voice-ai/stargazers/)
[](https://twitter.com/rapidaai)
[](https://discord.gg/ZTZPsxD4St)
[](https://cal.com/prashant-srivastav-u8duzh/30min)
[](https://deepwiki.com/rapidaai/voice-ai)
[](https://github.com/rapidaai/voice-ai/actions/workflows/github-code-scanning/codeql)
[](https://github.com/rapidaai/voice-ai/releases/latest)
## 架构

## 功能
- **实时语音编排**
使用 gRPC 流式处理和传输音频,实现低延迟。
- **LLM 无关架构**
可自带模型——OpenAI、Anthropic、开源模型或自定义推理。
- **生产级可靠性**
内置重试、错误处理、调用生命周期管理和健康检查。
- **全可观测性**
调用日志、流式事件、工具追踪、延迟分析、指标和仪表板。
- **灵活的 tooling 系统**
为代理构建自定义工具和操作,或集成任意后端。
- **开发者友好**
清晰的 API、模块化组件和简单配置。
- **企业就绪**
可扩展设计、高效协议和可预测性能。
## 文档与指南
https://doc.rapida.ai
## 先决条件
- **Docker** & **Docker Compose** ([安装](https://www.docker.com/))
- **16GB+ 内存**(运行所有服务所需)
## 快速启动
在 4 条命令内启动所有服务:
```
# 克隆仓库
git clone https://github.com/rapidaai/voice-ai.git && cd voice-ai
# 设置与构建
make setup-local && make build-all
# 启动所有服务
make up-all
# 查看运行中的服务
docker compose ps
```
**服务就绪(`make up-all`):**
- UI:http://localhost:3000
- API 网关(nginx):http://localhost:8080
- Web API:默认仅限容器网络(内部访问)
- Assistant API:http://localhost:9007
- Endpoint API:http://localhost:9005
- Integration API:http://localhost:9004
如需包含知识服务(OpenSearch + 文档 API),请运行:
```
make up-all-with-knowledge
```
然后:
- 文档 API:http://localhost:9010
**停止服务:**
```
make down-all
```
## 开发
### 针对特定服务开发
```
# 仅启动数据库
make up-db
# 仅启动用户界面
make up-ui
# 仅启动助理 API
make up-assistant
# 列出所有启动命令
make help
```
### 查看日志
```
# 全部服务
make logs-all
# 特定服务
make logs-web
make logs-assistant
```
### 代码变更后重建
```
# 重建并重启一个服务
make rebuild-assistant
# 全部重建
make rebuild-all
```
### 配置服务
在启动前编辑环境文件:
- `docker/web-api/.web.env` - Web API(端口 9001)
- `docker/assistant-api/.assistant.env` - Assistant API(端口 9007)
- `docker/endpoint-api/.endpoint.env` - Endpoint API(端口 9005)
- `docker/integration-api/.integration.env` - Integration API(端口 9004)
- `docker/document-api/config.yaml` - 文档 API(端口 9010)
在这些文件中添加你的 API 密钥(OpenAI、Anthropic、Deepgram、Twilio 等)。
## 本地开发(不使用 Docker)
### Go 服务
```
# 安装依赖
go mod download
# 构建服务
go build -o bin/web ./cmd/web
# 运行服务
./bin/web
```
需要单独运行的 PostgreSQL、Redis 和 OpenSearch。
### React 用户界面
```
cd ui
# 安装并运行
yarn install
yarn start:dev
# 生产环境构建
yarn build
```
## 故障排除
**端口已被占用:**
```
lsof -i :3000 # Find process
kill -9
# Kill it
```
**服务无法启动:**
```
make logs-all # Check logs
docker compose ps # Verify status
```
**数据库问题:**
```
# 测试连接
docker compose exec postgres psql -U rapida -d web_db -c "SELECT 1"
# 重置所有
make clean
make setup-local
make build-all
make up-all
```
## 全部命令
```
make help # Show all available commands
make setup-local # Create data directories
make build-all # Build all Docker images
make up-all # Start all services
make down-all # Stop all services
make logs-all # View all logs
make clean # Remove containers & volumes
make restart-all # Restart all services
```
## 贡献
请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 获取指南。
欢迎贡献:
- 新的 STT/TTS 提供商?查看 `api/assistant-api/internal/transformer/`
- 新的电话通道?查看 `api/assistant-api/internal/telephony/`
## SDK 与工具
### 客户端 SDK
客户端 SDK 使你的前端能够包含交互式、多用户体验。
| 语言 | 仓库 | 文档 |
| :------------- | :------------------------------------------------------- | :------------------------------------------------------- |
| Web (React) | [rapida-react](https://github.com/rapidaai/rapida-react) | [文档](https://doc.rapida.ai/api-reference/installation) |
| Web Widget (React) | [react-widget](https://github.com/rapidaai/react-widget) | |
### 服务端 SDK
服务端 SDK 使你的后端能够构建和管理代理。
| 语言 | 仓库 | 文档 |
| :--- | :--------------------------------------------------------- | :-------------------------------------------------------- |
| Go | [rapida-go](https://github.com/rapidaai/rapida-go) | [文档](https://doc.rapida.ai/api-reference/installation) |
| Python | [rapida-python](https://github.com/rapidaai/rapida-python) | [文档](https://doc.rapida.ai/api-reference/installation/) |
## 贡献
希望贡献代码的开发者,请参阅我们的 [贡献指南](https://github.com/rapidaai/voice-ai/blob/main/CONTRIBUTING.md)。
同时,请考虑通过社交媒体和活动会议分享 RapidaAi 来支持我们。
## 安全披露
为保护你的隐私,请避免在 GitHub 上发布安全问题。请将问题报告至 contact@rapida.ai,我们的团队将予以回复。
## 许可证
Rapida 在 GPL-2.0 许可证下开源,并附加以下条件:
- 开源用户必须在 UI 组件中保留 Rapida 徽标可见。
- 未来的许可条款可能会变更;这不影响已发布的版本。
商业许可证适用于企业使用,允许:
- 移除品牌标识
- 闭源使用
- 私有修改
详情请联系 sales@rapida.ai。 标签:Agent状态管理, API集成, EVTX分析, Go语言, gRPC, Python工具, SEO: 实时语音代理, SEO: 开源语音编排, SEO: 语音AI平台, STT, TTS, VAD, 企业集成, 低延迟, 可观测性, 多通道集成, 实时语音, 容错, 开源平台, 搜索引擎查询, 日志审计, 测试用例, 生产级, 监控, 程序破解, 语音AI, 语音代理, 语音编排, 请求拦截, 音频流