Update documentation and configuration for Realtime Agent Studio
- Revised mkdocs.yml to reflect the new site name and description, enhancing clarity for users. - Added a changelog.md to document important changes and updates for the project. - Introduced a roadmap.md to outline development plans and progress for future releases. - Expanded index.md with a comprehensive overview of the platform, including core features and installation instructions. - Enhanced concepts documentation with detailed explanations of assistants, engines, and their configurations. - Updated configuration documentation to provide clear guidance on environment setup and service configurations. - Added extra JavaScript for improved user experience in the documentation site.
This commit is contained in:
@@ -1,128 +1,114 @@
|
||||
# 实时交互智能体工作平台(RAS)
|
||||
<h1 align="center">Realtime Agent Studio</h1>
|
||||
|
||||
实时交互智能体工作平台(Realtime Agent Studio,简称 RAS)是一款以大语言模型为核心,构建实时交互音视频智能体的工作平台。支持管线式的全双工交互引擎和原生多模态模型两种核心,覆盖实时交互智能体构建过程中的配置、测试、发布、监控流程环节,平台包含大模型集成、语音识别、语音合成、自动化测试等功能,帮助用户快速构建实时交互智能体。
|
||||
<p align="center">
|
||||
<strong>构建实时交互音视频智能体的开源工作平台</strong>
|
||||
</p>
|
||||
|
||||
可以将该平台看作Vapi,Retell,ElevenAgents的开源替代。
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/version-0.1.0-blue" alt="Version">
|
||||
<img src="https://img.shields.io/badge/license-MIT-green" alt="License">
|
||||
<img src="https://img.shields.io/badge/python-3.10+-blue" alt="Python">
|
||||
<img src="https://img.shields.io/badge/node-18+-green" alt="Node">
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="quickstart/index.md">快速开始</a> ·
|
||||
<a href="api-reference/index.md">API 文档</a> ·
|
||||
<a href="deployment/index.md">部署指南</a> ·
|
||||
<a href="roadmap.md">路线图</a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## 什么是 Realtime Agent Studio?
|
||||
|
||||
Realtime Agent Studio (RAS) 是一款以大语言模型为核心,构建实时交互音视频智能体的工作平台。支持管线式的全双工交互引擎和原生多模态模型两种架构,覆盖实时交互智能体的配置、测试、发布、监控全流程。
|
||||
|
||||
可以将 RAS 看作 [Vapi](https://vapi.ai)、[Retell](https://retellai.com)、[ElevenLabs Agents](https://elevenlabs.io) 的**开源替代方案**。
|
||||
|
||||

|
||||
|
||||
## 功能特色
|
||||
---
|
||||
|
||||
### 实时交互引擎
|
||||
## 核心特性
|
||||
|
||||
平台的核心是一个低延迟、高并发的实时交互引擎,支持两种架构模式:
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- **管线式全双工引擎**:将语音识别(ASR)、大语言模型(LLM)、语音合成(TTS)串联成流水线,支持语音打断,实现自然的对话体验
|
||||
- **原生多模态模型支持**:直接接入 GPT-4o Realtime、Gemini Live 等端到端多模态模型,获得更低延迟和更自然的语音交互
|
||||
- **智能打断处理**:支持基于声音活动和语义的turn-detection模型,引擎自动处理音频截断和状态同步
|
||||
- :zap: **低延迟实时引擎**
|
||||
|
||||
### 智能体配置管理
|
||||
---
|
||||
|
||||
提供可视化的智能体配置界面,无需编码即可创建和调整智能体:
|
||||
管线式全双工架构,ASR/LLM/TTS 流水线处理,支持智能打断,端到端延迟 < 500ms
|
||||
|
||||
- **系统提示词编辑**:支持角色设定,会话动态变量
|
||||
- **模型选择与参数调优**:灵活切换 LLM/ASR/TTS 供应商,调整温度、采样等参数
|
||||
- **工具/函数调用配置**:webhook工具通过网络请求访问外部资源,客户端工具通过与用户交互获取信息,以及内建工具比如代码执行器,计算工具。
|
||||
- **知识库关联**:接入 RAG 系统,让智能体基于私有文档回答问题
|
||||
- **工作流编辑**:使用可视化流程编辑器构建包含多个环节的交互助手及其上下文切换
|
||||
- :brain: **多模态模型支持**
|
||||
|
||||
### 交互测试工具
|
||||
---
|
||||
|
||||
内置完整的测试工具链,保障智能体上线质量:
|
||||
支持 GPT-4o Realtime、Gemini Live、Step Audio 等原生多模态模型直连
|
||||
|
||||
- **实时调试控制台**:在线测试体验智能体交互 ASR/LLM/TTS 各环节的输入输出
|
||||
- **自动化测试工具**:支持固定测试(预设问答对批量测试)和智能测试(AI自动生成测试用例),自动执行并生成测试报告
|
||||
- :wrench: **可视化配置**
|
||||
|
||||
### 开放接口
|
||||
---
|
||||
|
||||
提供标准化的 API 接口,便于集成到现有系统:
|
||||
无代码配置助手、提示词、工具调用、知识库关联,所见即所得
|
||||
|
||||
- **WebSocket 实时协议**:支持音视频流式传输、双向通信
|
||||
- **RESTful 管理接口**:助手 CRUD、会话管理、配置导入导出
|
||||
- **Webhook 回调**:会话开始/结束、工具调用、异常告警等事件通知
|
||||
- **SDK 支持**:提供 JavaScript、Python、移动端 SDK,简化客户端集成
|
||||
- :electric_plug: **开放 API**
|
||||
|
||||
### 交互历史监控
|
||||
---
|
||||
|
||||
全面的会话记录和数据分析能力:
|
||||
标准 WebSocket 协议,RESTful 管理接口,支持 Webhook 回调
|
||||
|
||||
- **完整会话回放**:保存音频、转写文本、LLM 响应、工具调用的完整链路
|
||||
- **实时仪表盘**:并发会话数、平均响应时间、错误率等关键指标可视化
|
||||
- **会话检索与筛选**:按时间、助手、用户、关键词等维度快速定位会话
|
||||
- :shield: **私有化部署**
|
||||
|
||||
### 自主部署
|
||||
---
|
||||
|
||||
支持私有化部署,数据安全可控:
|
||||
Docker 一键部署,数据完全自主可控,支持本地模型
|
||||
|
||||
- **Docker 一键部署**:提供 docker-compose 配置,一行命令启动完整平台
|
||||
- **模型本地化**:支持云端模型和本地私有化模型两种方案
|
||||
- :chart_with_upwards_trend: **全链路监控**
|
||||
|
||||
## 核心功能
|
||||
---
|
||||
|
||||
| 功能模块 | 描述 |
|
||||
|---------|------|
|
||||
| **助手管理** | 创建、配置、测试 AI 助手 |
|
||||
| **工作流** | 可视化流程编排 |
|
||||
| **模型库** | LLM/ASR/语音模型配置 |
|
||||
| **知识库** | RAG 文档知识管理 |
|
||||
| **历史记录** | 对话日志查询与分析 |
|
||||
| **自动化测试** | 批量测试与质量评估 |
|
||||
| **仪表盘** | 实时数据统计与可视化分析 |
|
||||
完整会话回放,实时仪表盘,自动化测试与效果评估
|
||||
|
||||
## 开发计划(Roadmap)
|
||||
|
||||
### 已完成 (Completed)
|
||||
|
||||
#### 实时交互引擎
|
||||
- [x] 管线式全双工引擎 - ASR/LLM/TTS 流水线
|
||||
- [x] 智能打断处理 - VAD + EOU 检测
|
||||
- [x] OpenAI兼容的 ASR TTS 接口适配
|
||||
- [x] DashScope TTS 接口适配
|
||||
|
||||
#### 智能体配置管理
|
||||
- [x] 系统提示词编辑 - prompt 配置,动态变量注入
|
||||
- [x] 模型选择 - LLM/ASR/TTS 模型管理
|
||||
- [x] 工具调用配置 - webhook 工具 + 客户端工具
|
||||
|
||||
#### 交互测试工具
|
||||
- [x] 实时调试控制台 - WebSocket 调试连接示例
|
||||
|
||||
#### 开放接口
|
||||
- [x] WebSocket 协议 - /ws 端点
|
||||
- [x] RESTful 接口 - 完整的 CRUD API
|
||||
|
||||
#### 交互历史监控
|
||||
- [x] 完整会话回放 - 音频 + 转写 + LLM 响应
|
||||
- [x] 会话检索筛选 - 按时间/助手/状态筛选
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
### 开发中 (In Progress)
|
||||
## 系统架构
|
||||
|
||||
#### 智能体配置管理
|
||||
- [ ] 私有化部署的 ASR TTS 适配
|
||||
- [ ] 工作流编辑 - 可视化流程编排
|
||||
- [ ] 知识库关联 - RAG 文档管理
|
||||
```mermaid
|
||||
flowchart LR
|
||||
subgraph Client["客户端"]
|
||||
Web[Web 浏览器]
|
||||
App[移动应用]
|
||||
SDK[SDK]
|
||||
end
|
||||
|
||||
#### 实时交互引擎
|
||||
- [ ] 原生多模态模型支持 - 由于GPT-4o Realtime, Gemini Live国内环境问题,计划加入Step Audio
|
||||
subgraph RAS["Realtime Agent Studio"]
|
||||
Engine[实时交互引擎]
|
||||
API[API 服务]
|
||||
DB[(数据库)]
|
||||
end
|
||||
|
||||
#### 开放接口
|
||||
- [ ] SDK 支持 - JavaScript/Python SDK
|
||||
- [ ] WebRTC 协议 - /webrtc 端点
|
||||
subgraph Pipeline["管线式引擎"]
|
||||
ASR[语音识别]
|
||||
LLM[大语言模型]
|
||||
TTS[语音合成]
|
||||
end
|
||||
|
||||
#### 效果评估
|
||||
- [ ] 自动化测试工具 - 固定测试 + 智能测试
|
||||
subgraph External["外部服务"]
|
||||
OpenAI[OpenAI]
|
||||
Azure[Azure]
|
||||
Local[本地模型]
|
||||
end
|
||||
|
||||
---
|
||||
|
||||
### 待实现 (To Do)
|
||||
|
||||
#### 开放接口
|
||||
- [ ] Webhook 回调 - 会话事件通知
|
||||
|
||||
#### 效果评估
|
||||
- [ ] 实时仪表盘 - 基础统计看板,需完善
|
||||
Client -->|WebSocket| Engine
|
||||
Client -->|REST| API
|
||||
Engine --> Pipeline
|
||||
Engine <--> API
|
||||
API <--> DB
|
||||
Pipeline --> External
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -130,11 +116,11 @@
|
||||
|
||||
| 层级 | 技术 |
|
||||
|------|------|
|
||||
| Frontend | React, TypeScript, Tailwind CSS |
|
||||
| State | Zustand, React Query |
|
||||
| Backend | FastAPI (Python) |
|
||||
| Engine | Python |
|
||||
| Database | SQLite |
|
||||
| **前端** | React 18, TypeScript, Tailwind CSS, Zustand |
|
||||
| **后端** | FastAPI (Python 3.10+) |
|
||||
| **引擎** | Python, WebSocket, asyncio |
|
||||
| **数据库** | SQLite / PostgreSQL |
|
||||
| **部署** | Docker, Nginx |
|
||||
|
||||
---
|
||||
|
||||
@@ -142,36 +128,95 @@
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- :rocket: **[快速开始](quickstart/index.md)**
|
||||
- :rocket: **[快速开始](quickstart/index.md)**
|
||||
|
||||
---
|
||||
|
||||
5 分钟创建你的第一个 AI 助手
|
||||
|
||||
- :wrench: **[安装部署](getting-started/index.md)**
|
||||
- :book: **[核心概念](concepts/index.md)**
|
||||
|
||||
环境准备与安装配置
|
||||
---
|
||||
|
||||
- :robot: **[助手管理](assistants/index.md)**
|
||||
了解助手、管线、多模态等核心概念
|
||||
|
||||
- :wrench: **[安装部署](getting-started/index.md)**
|
||||
|
||||
---
|
||||
|
||||
环境准备与本地开发配置
|
||||
|
||||
- :robot: **[助手管理](assistants/index.md)**
|
||||
|
||||
---
|
||||
|
||||
创建和配置智能对话助手
|
||||
|
||||
- :gear: **[功能定制](customization/knowledge-base.md)**
|
||||
- :gear: **[功能定制](customization/knowledge-base.md)**
|
||||
|
||||
---
|
||||
|
||||
知识库、工具、语音、工作流
|
||||
|
||||
- :bar_chart: **[数据分析](analysis/dashboard.md)**
|
||||
- :bar_chart: **[数据分析](analysis/dashboard.md)**
|
||||
|
||||
---
|
||||
|
||||
仪表盘、历史记录、测试评估
|
||||
|
||||
- :book: **[API 参考](api-reference/index.md)**
|
||||
- :electric_plug: **[API 参考](api-reference/index.md)**
|
||||
|
||||
WebSocket 协议与接口文档
|
||||
---
|
||||
|
||||
- :cloud: **[部署指南](deployment/index.md)**
|
||||
WebSocket 协议与 REST 接口文档
|
||||
|
||||
Docker、Nginx 生产部署
|
||||
- :cloud: **[部署指南](deployment/index.md)**
|
||||
|
||||
- :question: **[常见问题](resources/faq.md)**
|
||||
---
|
||||
|
||||
使用问题与故障排查
|
||||
Docker 与生产环境部署
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 快速体验
|
||||
|
||||
### 使用 Docker 启动
|
||||
|
||||
```bash
|
||||
git clone https://github.com/your-org/AI-VideoAssistant.git
|
||||
cd AI-VideoAssistant
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
访问 `http://localhost:3000` 即可使用控制台。
|
||||
|
||||
### WebSocket 连接示例
|
||||
|
||||
```javascript
|
||||
const ws = new WebSocket('ws://localhost:8000/ws?assistant_id=YOUR_ID');
|
||||
|
||||
ws.onopen = () => {
|
||||
ws.send(JSON.stringify({
|
||||
type: 'session.start',
|
||||
audio: { encoding: 'pcm_s16le', sample_rate_hz: 16000, channels: 1 }
|
||||
}));
|
||||
};
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 参与贡献
|
||||
|
||||
我们欢迎社区贡献!查看 [贡献指南](https://github.com/your-org/AI-VideoAssistant/blob/main/CONTRIBUTING.md) 了解如何参与。
|
||||
|
||||
- :star: Star 项目支持我们
|
||||
- :bug: 提交 Issue 报告问题
|
||||
- :hammer: 提交 PR 贡献代码
|
||||
|
||||
---
|
||||
|
||||
## 许可证
|
||||
|
||||
本项目基于 [MIT 许可证](https://github.com/your-org/AI-VideoAssistant/blob/main/LICENSE) 开源。
|
||||
|
||||
Reference in New Issue
Block a user