Add Mermaid diagram support and update architecture documentation

- Included a new JavaScript file for Mermaid configuration to ensure consistent diagram sizing across documentation.
- Enhanced architecture documentation to reflect the updated pipeline engine structure, including VAD, ASR, TD, LLM, and TTS components.
- Updated various sections to clarify the integration of external services and tools within the architecture.
- Improved styling for Mermaid diagrams to enhance visual consistency and usability.
This commit is contained in:
Xin Wang
2026-03-05 11:01:56 +08:00
parent 4748f3b5f1
commit ac9b0047ee
7 changed files with 275 additions and 80 deletions

View File

@@ -19,23 +19,25 @@
### 架构设计
管线式引擎将语音交互拆分为三个独立阶段:
管线式引擎包含 **声音活动检测VAD**、**语音识别ASR**、**回合检测TD**、**大语言模型LLM**、**语音合成TTS**,各环节可对接**外部服务**OpenAI、SiliconFlow、DashScope、本地模型。LLM 可连接**工具**Webhook、客户端工具、内建工具
```mermaid
flowchart LR
subgraph Input["输入处理"]
Audio[用户音频] --> VAD[VAD 检测]
VAD --> ASR[语音识别]
Audio[用户音频] --> VAD[声音活动检测 VAD]
VAD --> ASR[语音识别 ASR]
ASR --> Text[转写文本]
Text --> TD[回合检测 TD]
end
subgraph Process["语义处理"]
Text --> LLM[大语言模型]
TD --> LLM[大语言模型 LLM]
LLM --> Response[回复文本]
LLM --> Tools[工具]
end
subgraph Output["输出生成"]
Response --> TTS[语音合成]
Response --> TTS[语音合成 TTS]
TTS --> OutputAudio[助手音频]
end
```
@@ -55,7 +57,7 @@ sequenceDiagram
Note over E: VAD 检测语音活动
E->>E: 累积音频缓冲
Note over E: 检测到语音结束 (EOU)
Note over E: 回合检测 (TD) 确定可送 LLM 的输入
E->>ASR: 发送音频
ASR-->>E: 转写文本 (流式)
E-->>U: transcript.delta
@@ -111,9 +113,21 @@ gantt
---
## 多模态引擎 (Multimodal)
## 实时交互引擎与多模态
### 架构设计
### 实时交互引擎连接
实时交互引擎可连接**实时交互引擎**后端,包括:
| 后端 | 说明 |
|------|------|
| **OpenAI Realtime** | OpenAI 实时语音模型 |
| **Gemini Live** | Google 实时多模态 |
| **Doubao 实时交互引擎** | 豆包实时交互 |
实时交互引擎与管线式引擎中的 LLM 一样,均可连接**工具**Webhook、客户端工具、内建工具。
### 多模态引擎架构
多模态引擎使用端到端模型,直接处理音频输入输出:
@@ -127,12 +141,13 @@ flowchart LR
subgraph Engine["引擎"]
AudioIn --> RT[Realtime Model]
RT --> AudioOut
RT --> Tools[工具]
end
subgraph Model["多模态模型"]
RT --> GPT4o[GPT-4o Realtime]
subgraph Model["实时交互引擎"]
RT --> GPT4o[OpenAI Realtime]
RT --> Gemini[Gemini Live]
RT --> Step[Step Audio]
RT --> Doubao[Doubao 实时]
end
```
@@ -155,13 +170,24 @@ sequenceDiagram
Note over U,RT: 支持全双工<br/>用户可随时打断
```
### 支持的模型
### 外部服务(管线式)
管线式引擎各环节可选用以下**外部服务**
| 服务 | 说明 |
|------|------|
| **OpenAI** | LLM / ASR / TTS 等 |
| **SiliconFlow** | 国内 API 服务 |
| **DashScope** | 阿里云灵积 |
| **本地模型** | 私有化部署模型 |
### 支持的实时交互模型
| 模型 | 供应商 | 特点 |
|------|--------|------|
| **GPT-4o Realtime** | OpenAI | 最自然的语音,延迟极低 |
| **OpenAI Realtime** | OpenAI | 最自然的语音,延迟极低 |
| **Gemini Live** | Google | 多模态能力强 |
| **Step Audio** | 阶跃星辰 | 国内可用,中文优化 |
| **Doubao 实时交互** | 字节跳动 | 国内可用,中文优化 |
### 延迟对比

View File

@@ -102,16 +102,16 @@ RAS 支持两种引擎架构,适用于不同场景。
### 管线式引擎 (Pipeline)
将语音交互拆分为三个独立环节:
将语音交互拆分为多个环节,包含 **VAD声音活动检测**、**ASR语音识别**、**TD回合检测**、**LLM大语言模型**、**TTS语音合成**。外部服务可选 **OpenAI**、**SiliconFlow**、**DashScope**、**本地模型**。LLM 与实时交互引擎均可连接**工具**Webhook、客户端工具、内建工具
```
用户语音 → [ASR] → 文本 → [LLM] → 回复 → [TTS] → 助手语音
用户语音 → [VAD] → [ASR] → [TD] → 文本 → [LLM] → 回复 → [TTS] → 助手语音
```
**优点:**
- 灵活选择各环节供应商
- 可独立优化每个环节
- 灵活选择各环节供应商OpenAI、SiliconFlow、DashScope、本地模型
- 可独立优化 VAD、ASR、TD、LLM、TTS 每个环节
- 成本可控
**缺点:**
@@ -119,9 +119,9 @@ RAS 支持两种引擎架构,适用于不同场景。
- 延迟较高(累加延迟)
- 需要协调多个服务
### 多模态引擎 (Multimodal)
### 实时交互引擎与多模态 (Realtime / Multimodal)
使用端到端模型直接处理:
实时交互引擎可连接 **OpenAI Realtime**、**Gemini Live**、**Doubao 实时交互引擎** 等,同样可连接工具。使用端到端模型直接处理:
```
用户语音 → [Realtime Model] → 助手语音
@@ -191,11 +191,13 @@ sequenceDiagram
### 工具类型
管线式引擎中的 LLM 与实时交互引擎均可连接**工具**,包括:
| 类型 | 说明 | 示例 |
|------|------|------|
| **Webhook** | 调用外部 HTTP API | 查询订单、预约日程 |
| **客户端** | 由客户端执行的操作 | 打开页面、显示表单 |
| **内** | 平台提供的工具 | 代码执行、计算器 |
| **客户端工具** | 由客户端执行的操作 | 打开页面、显示表单 |
| **内建工具** | 平台提供的工具 | 代码执行、计算器 |
### 工具调用流程