Files
AI-VideoAssistant/docs/content/concepts/assistants.md
Xin Wang 65ae2287d5 Update documentation for assistant configuration and interaction models
- Corrected phrasing in the introduction of RAS as an open-source alternative.
- Added new documentation sections for voice AI and voice agents.
- Enhanced the flowchart for assistant components to include detailed configurations.
- Updated terminology for engine types to clarify distinctions between Pipeline and Realtime engines.
- Introduced a new section on user utterance endpoints (EoU) to explain detection mechanisms and configurations.
2026-03-06 14:38:59 +08:00

237 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 助手概念详解
深入了解助手Assistant的设计理念和配置细节。
---
## 什么是助手?
**助手**是 RAS 中的核心实体,代表一个具有特定角色、能力和行为的 AI 对话智能体。每个助手都是独立配置的,可以服务于不同的业务场景。
### 助手的组成
```mermaid
flowchart
subgraph Assistant["助手"]
direction TB
Prompts[指令配置]
Audio[语音配置]
Interaction[交互配置]
tool[工具配置]
knowledge[知识配置]
webhooks[webhooks]
end
subgraph Prompts
Name[名称]
Prompt[提示词]
Opener[开场白]
end
subgraph Audio
LLM[LLM 模型]
ASR[ASR 模型]
TTS[TTS 声音]
end
subgraph Interaction
Tools[工具调用]
KB[知识库]
end
subgraph tool
Greeting[开场白]
Interruption[打断设置]
Output[输出模式]
end
subgraph knowledge
Greeting[开场白]
Interruption[打断设置]
Output[输出模式]
end
subgraph webhooks
Greeting[开场白]
Interruption[打断设置]
Output[输出模式]
end
```
---
## 身份定义
### 系统提示词
系统提示词是助手最重要的配置,它定义了:
| 要素 | 说明 | 示例 |
|------|------|------|
| **角色** | 助手扮演什么身份 | "你是一名专业的医疗咨询顾问" |
| **能力** | 助手能做什么 | "你可以回答健康问题,但不能开具处方" |
| **限制** | 助手不能做什么 | "不要讨论政治话题" |
| **风格** | 回复的语气和格式 | "保持友好专业,回答简洁" |
### 提示词模板
```markdown
## 角色
你是{{company}}的智能客服助手"小智"。
## 任务
- 回答用户关于产品和服务的问题
- 协助处理订单查询和售后问题
- 收集用户反馈
## 限制
- 不讨论竞争对手产品
- 不承诺超出权限的优惠
- 遇到复杂问题引导用户联系人工客服
## 风格
- 语气友好亲切
- 回答简洁明了,每次 2-3 句话
- 适当使用语气词使对话更自然
```
---
## 模型配置
### LLM 模型
大语言模型是助手的"大脑",负责理解用户意图和生成回复。
| 参数 | 说明 | 建议值 |
|------|------|--------|
| **温度** | 回复随机性,越高越发散 | 0.7 (对话) / 0.3 (问答) |
| **最大 Token** | 单次回复长度上限 | 256-512 |
| **上下文长度** | 记忆的对话轮数 | 10-20 轮 |
### ASR 模型
语音识别模型将用户语音转为文字。
| 配置 | 说明 |
|------|------|
| **语言** | 识别语言,如中文、英文 |
| **热词** | 提高特定词汇识别率 |
| **标点** | 是否自动添加标点 |
### TTS 声音
语音合成将助手回复转为语音输出。
| 配置 | 说明 |
|------|------|
| **音色** | 选择声音角色 |
| **语速** | 说话速度0.5-2.0 |
| **音调** | 声音高低 |
---
## 能力扩展
### 工具调用
通过工具让助手能够执行外部操作:
```mermaid
flowchart LR
User[用户] -->|"查询订单"| Assistant[助手]
Assistant -->|调用工具| API[订单 API]
API -->|返回数据| Assistant
Assistant -->|回复| User
```
**工具定义示例:**
```json
{
"name": "get_order_status",
"description": "查询用户订单状态",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "订单编号"
}
},
"required": ["order_id"]
}
}
```
### 知识库关联
让助手基于私有文档回答问题:
```mermaid
flowchart LR
Question[用户问题] --> Search[知识检索]
Search --> KB[(知识库)]
KB --> Context[相关内容]
Context --> LLM[LLM]
LLM --> Answer[回答]
```
---
## 行为控制
### 开场白设置
| 模式 | 说明 |
|------|------|
| **助手先说** | 连接后助手主动问候 |
| **用户先说** | 等待用户开口 |
| **静默** | 不自动开场 |
### 打断设置
| 选项 | 说明 |
|------|------|
| **允许打断** | 用户可随时插话 |
| **禁止打断** | 助手说完才能输入 |
| **灵敏度** | 打断触发的敏感程度 |
### 输出模式
| 模式 | 说明 |
|------|------|
| **语音** | TTS 语音输出 |
| **文本** | 纯文本输出 |
| **混合** | 同时输出语音和文本 |
---
## 最佳实践
### 1. 提示词工程
- **明确角色**: 清晰定义助手身份
- **设定边界**: 明确能做什么、不能做什么
- **控制长度**: 语音场景下回复要简短
### 2. 模型选择
- **平衡成本与效果**: 不一定需要最强模型
- **测试不同供应商**: 找到最适合场景的组合
- **考虑延迟**: 语音交互对延迟敏感
### 3. 工具设计
- **单一职责**: 每个工具做一件事
- **清晰描述**: 让 LLM 正确理解何时调用
- **错误处理**: 工具失败时优雅降级
---
## 相关文档
- [助手配置](../assistants/configuration.md) - 配置界面详解
- [提示词指南](../assistants/prompts.md) - 编写高质量提示词
- [工具集成](../customization/tools.md) - 工具配置详情