Update documentation for Realtime Agent Studio with enhanced content and structure
- Revised site name and description for clarity and detail. - Updated navigation structure to better reflect the organization of content. - Improved changelog entries for better readability and consistency. - Migrated assistant configuration and prompt guidelines to new documentation paths. - Enhanced core concepts section to clarify the roles and capabilities of assistants and engines. - Streamlined workflow documentation to provide clearer guidance on configuration and usage.
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<p align="center">
|
||||
<p align="center">
|
||||
<img src="images/logo.png" alt="Realtime Agent Studio" width="400">
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>构建实时交互音视频智能体的开源工作平台</strong>
|
||||
<strong>通过管理控制台与 API 构建、部署和运营实时多模态助手</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
@@ -14,66 +14,65 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="overview/index.md">产品概览</a> ·
|
||||
<a href="quickstart/index.md">快速开始</a> ·
|
||||
<a href="api-reference/index.md">API 文档</a> ·
|
||||
<a href="getting-started/index.md">安装部署</a> ·
|
||||
<a href="roadmap.md">路线图</a>
|
||||
<a href="concepts/assistants.md">构建助手</a> ·
|
||||
<a href="concepts/index.md">核心概念</a> ·
|
||||
<a href="api-reference/index.md">API 参考</a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## 什么是 Realtime Agent Studio?
|
||||
Realtime Agent Studio (RAS) 是一个通过管理控制台与 API 构建、部署和运营实时多模态助手的开源平台。
|
||||
|
||||
Realtime Agent Studio (RAS) 是一款以大语言模型为核心,构建实时交互音视频智能体的工作平台。支持管线式的全双工交互引擎和原生多模态模型两种架构,覆盖实时交互智能体的配置、测试、发布、监控全流程。
|
||||
## 适合谁
|
||||
|
||||
可以将 RAS 看作 [Vapi](https://vapi.ai)、[Retell](https://retellai.com)、[ElevenLabs Agents](https://elevenlabs.io) 的开源替代方案。
|
||||
- 需要把实时语音或视频助手接入产品、设备或内部系统的开发团队
|
||||
- 需要通过控制台快速配置提示词、模型、知识库、工具和工作流的运营团队
|
||||
- 需要私有化部署、模型可替换、链路可观测的企业场景
|
||||
|
||||
---
|
||||
|
||||
## 核心特性
|
||||
## 核心能力
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- :zap: **低延迟实时引擎**
|
||||
- :material-robot-outline: **助手构建**
|
||||
|
||||
---
|
||||
|
||||
管线式全双工架构,VAD/ASR/TD/LLM/TTS 流水线处理,支持智能打断,端到端延迟 < 500ms
|
||||
用统一的助手对象管理提示词、模型、知识库、工具、开场白和会话策略。
|
||||
|
||||
- :brain: **多模态模型支持**
|
||||
- :material-pulse: **双引擎运行时**
|
||||
|
||||
---
|
||||
|
||||
支持 GPT-4o Realtime、Gemini Live、Step Audio 等原生多模态模型直连
|
||||
同时支持 Pipeline 引擎与 Realtime 引擎,可按延迟、成本和可控性选择运行方式。
|
||||
|
||||
- :wrench: **可视化配置**
|
||||
- :material-source-branch: **能力扩展**
|
||||
|
||||
---
|
||||
|
||||
无代码配置助手、提示词、工具调用、知识库关联,所见即所得
|
||||
通过资源库、知识库、工具与工作流扩展助手能力,而不是把全部逻辑塞进单一提示词。
|
||||
|
||||
- :electric_plug: **开放 API**
|
||||
- :material-api: **开放集成**
|
||||
|
||||
---
|
||||
|
||||
标准 WebSocket 协议,RESTful 管理接口,支持 Webhook 回调
|
||||
使用 REST API 管理资源,使用 WebSocket API 接入实时对话,面向 Web、移动端和第三方系统。
|
||||
|
||||
- :shield: **私有化部署**
|
||||
- :material-shield-lock-outline: **私有化部署**
|
||||
|
||||
---
|
||||
|
||||
Docker 一键部署,数据完全自主可控,支持本地模型
|
||||
支持 Docker 部署、自有模型服务和企业内网运行,便于满足合规与成本要求。
|
||||
|
||||
- :chart_with_upwards_trend: **全链路监控**
|
||||
- :material-chart-line: **可观测与评估**
|
||||
|
||||
---
|
||||
|
||||
完整会话回放,实时仪表盘,自动化测试与效果评估
|
||||
提供会话历史、实时指标、自动化测试和效果评估,帮助持续改进助手质量。
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 系统架构
|
||||
|
||||
平台架构层级:
|
||||
@@ -81,243 +80,107 @@ Realtime Agent Studio (RAS) 是一款以大语言模型为核心,构建实时
|
||||
```mermaid
|
||||
flowchart TB
|
||||
|
||||
%% ================= ACCESS =================
|
||||
subgraph Access["Access Layer"]
|
||||
direction TB
|
||||
API[API]
|
||||
SDK[SDK]
|
||||
Browser[Browser UI]
|
||||
Embed[Web Embed]
|
||||
end
|
||||
subgraph Access["Access Layer"]
|
||||
API["API"]
|
||||
SDK["SDK"]
|
||||
Browser["Browser UI"]
|
||||
Embed["Web Embed"]
|
||||
end
|
||||
|
||||
subgraph Runtime["Realtime Interaction Engine"]
|
||||
direction LR
|
||||
|
||||
%% ================= REALTIME ENGINE =================
|
||||
subgraph Runtime["Realtime Interaction Engine"]
|
||||
subgraph Duplex["Duplex Interaction Engine"]
|
||||
direction LR
|
||||
|
||||
direction LR
|
||||
subgraph Pipeline["Pipeline Engine"]
|
||||
direction LR
|
||||
VAD["VAD"]
|
||||
ASR["ASR"]
|
||||
TD["Turn Detection"]
|
||||
LLM["LLM"]
|
||||
TTS["TTS"]
|
||||
end
|
||||
|
||||
%% -------- Duplex Engine --------
|
||||
subgraph Duplex["Duplex Interaction Engine"]
|
||||
direction LR
|
||||
subgraph Multi["Realtime Engine"]
|
||||
MM["Realtime Model"]
|
||||
end
|
||||
end
|
||||
|
||||
subgraph Pipeline["Pipeline Engine"]
|
||||
direction LR
|
||||
VAD[VAD]
|
||||
ASR[ASR]
|
||||
TD[Turn Detection]
|
||||
LLM[LLM]
|
||||
TTS[TTS]
|
||||
end
|
||||
subgraph Capability["Agent Capabilities"]
|
||||
subgraph Tools["Tool System"]
|
||||
Webhook["Webhook"]
|
||||
ClientTool["Client Tools"]
|
||||
Builtin["Builtin Tools"]
|
||||
end
|
||||
|
||||
subgraph Multi["Realtime Engine"]
|
||||
MM[Realtime Model]
|
||||
end
|
||||
subgraph KB["Knowledge System"]
|
||||
Docs["Documents"]
|
||||
Vector[("Vector Index")]
|
||||
Retrieval["Retrieval"]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
subgraph Platform["Platform Services"]
|
||||
direction TB
|
||||
Backend["Backend Service"]
|
||||
Frontend["Frontend Console"]
|
||||
DB[("Database")]
|
||||
end
|
||||
|
||||
|
||||
%% -------- Capabilities --------
|
||||
subgraph Capability["Agent Capabilities"]
|
||||
|
||||
subgraph Tools["Tool System"]
|
||||
Webhook[Webhook]
|
||||
ClientTool[Client Tools]
|
||||
Builtin[Builtin Tools]
|
||||
end
|
||||
|
||||
subgraph KB["Knowledge System"]
|
||||
Docs[Documents]
|
||||
Vector[(Vector Index)]
|
||||
Retrieval[Retrieval]
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
%% ================= PLATFORM =================
|
||||
subgraph Platform["Platform Services"]
|
||||
direction TB
|
||||
Backend[Backend Service]
|
||||
Frontend[Frontend Console]
|
||||
DB[(Database)]
|
||||
end
|
||||
|
||||
|
||||
%% ================= CONNECTIONS =================
|
||||
|
||||
Access --> Runtime
|
||||
|
||||
Runtime <--> Backend
|
||||
Backend <--> DB
|
||||
Backend <--> Frontend
|
||||
|
||||
LLM --> Tools
|
||||
MM --> Tools
|
||||
|
||||
LLM <--> KB
|
||||
MM <--> KB
|
||||
Access --> Runtime
|
||||
Runtime <--> Backend
|
||||
Backend <--> DB
|
||||
Backend <--> Frontend
|
||||
LLM --> Tools
|
||||
MM --> Tools
|
||||
LLM <--> KB
|
||||
MM <--> KB
|
||||
```
|
||||
|
||||
管线式引擎交互引擎对话流程图:
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
|
||||
User((User Speech))
|
||||
Audio[Audio Stream]
|
||||
|
||||
VAD[VAD\nVoice Activity Detection]
|
||||
ASR[ASR\nSpeech Recognition]
|
||||
|
||||
TD[Turn Detection]
|
||||
|
||||
LLM[LLM\nReasoning]
|
||||
|
||||
Tools[Tools / APIs]
|
||||
|
||||
TTS[TTS\nSpeech Synthesis]
|
||||
|
||||
AudioOut[Audio Stream Out]
|
||||
|
||||
User --> Audio
|
||||
Audio --> VAD
|
||||
VAD --> ASR
|
||||
ASR --> TD
|
||||
TD --> LLM
|
||||
|
||||
LLM --> Tools
|
||||
Tools --> LLM
|
||||
|
||||
LLM --> TTS
|
||||
TTS --> AudioOut
|
||||
AudioOut --> User
|
||||
```
|
||||
|
||||
基于实时交互模型的对话流程图:
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
|
||||
User((User))
|
||||
|
||||
Input[Audio / Video / Text]
|
||||
|
||||
MM[Multimodal Model]
|
||||
|
||||
Tools[Tools / APIs]
|
||||
KB[Knowledge Base]
|
||||
|
||||
Output[Audio / Video / Text]
|
||||
|
||||
User --> Input
|
||||
Input --> MM
|
||||
|
||||
MM --> Tools
|
||||
Tools --> MM
|
||||
|
||||
MM --> KB
|
||||
KB --> MM
|
||||
|
||||
MM --> Output
|
||||
Output --> User
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 技术栈
|
||||
|
||||
| 层级 | 技术 |
|
||||
|------|------|
|
||||
| **前端** | React 18, TypeScript, Tailwind CSS, Zustand |
|
||||
| **后端** | FastAPI (Python 3.10+) |
|
||||
| **引擎** | Python, WebSocket, asyncio |
|
||||
| **数据库** | SQLite |
|
||||
| **知识库** | chroma |
|
||||
| **部署** | Docker |
|
||||
|
||||
---
|
||||
|
||||
## 快速导航
|
||||
## 从这里开始
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- :rocket: **[快速开始](quickstart/index.md)**
|
||||
- :material-compass-outline: **[了解产品](overview/index.md)**
|
||||
|
||||
---
|
||||
|
||||
5 分钟创建你的第一个 AI 助手
|
||||
先看产品定位、核心模块、适用场景,以及 RAS 与其他方案的差异。
|
||||
|
||||
- :book: **[核心概念](concepts/index.md)**
|
||||
- :material-cog-outline: **[环境与部署](getting-started/index.md)**
|
||||
|
||||
---
|
||||
|
||||
了解助手、管线、多模态等核心概念
|
||||
先把服务跑起来,了解环境要求、配置入口和部署方式。
|
||||
|
||||
- :wrench: **[安装部署](getting-started/index.md)**
|
||||
- :material-rocket-launch-outline: **[创建第一个助手](quickstart/index.md)**
|
||||
|
||||
---
|
||||
|
||||
环境准备、本地开发与 Docker/生产部署
|
||||
按最短路径准备资源、创建助手、测试效果并拿到接入所需信息。
|
||||
|
||||
- :robot: **[助手管理](assistants/index.md)**
|
||||
- :material-tune: **[构建助手](concepts/assistants.md)**
|
||||
|
||||
---
|
||||
|
||||
创建和配置智能对话助手
|
||||
按完整链路配置助手、提示词、模型、知识库、工具与工作流。
|
||||
|
||||
- :gear: **[功能定制](customization/knowledge-base.md)**
|
||||
- :material-connection: **[接入应用](api-reference/index.md)**
|
||||
|
||||
---
|
||||
|
||||
知识库、工具、语音、工作流
|
||||
查看 REST 与 WebSocket 接口,把助手嵌入到你的 Web、移动端或服务端系统。
|
||||
|
||||
- :bar_chart: **[数据分析](analysis/dashboard.md)**
|
||||
- :material-lifebuoy: **[排查问题](resources/troubleshooting.md)**
|
||||
|
||||
---
|
||||
|
||||
仪表盘、历史记录、测试评估
|
||||
|
||||
- :electric_plug: **[API 参考](api-reference/index.md)**
|
||||
|
||||
---
|
||||
|
||||
WebSocket 协议与 REST 接口文档
|
||||
当连接、对话质量或部署链路出现问题时,从这里进入可执行的排查步骤。
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 快速体验
|
||||
|
||||
### 使用 Docker 启动
|
||||
|
||||
```bash
|
||||
git clone https://github.com/your-org/AI-VideoAssistant.git
|
||||
cd docker
|
||||
docker-compose up -d
|
||||
# for development
|
||||
# docker compose --profile dev 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 }
|
||||
}));
|
||||
};
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 许可证
|
||||
|
||||
本项目基于 [MIT 许可证](https://github.com/your-org/AI-VideoAssistant/blob/main/LICENSE) 开源。
|
||||
|
||||
Reference in New Issue
Block a user