- 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.
254 lines
5.4 KiB
Markdown
254 lines
5.4 KiB
Markdown
# 助手概念详解
|
||
|
||
深入了解助手(Assistant)的设计理念和配置细节。
|
||
|
||
---
|
||
|
||
## 什么是助手?
|
||
|
||
**助手**是 RAS 中的核心实体,代表一个具有特定角色、能力和行为的 AI 对话智能体。每个助手都是独立配置的,可以服务于不同的业务场景。
|
||
|
||
### 助手的组成
|
||
|
||
```mermaid
|
||
flowchart TB
|
||
subgraph Assistant["助手"]
|
||
Identity[身份定义]
|
||
Models[模型配置]
|
||
Capabilities[能力扩展]
|
||
Behavior[行为控制]
|
||
end
|
||
|
||
subgraph Identity
|
||
Name[名称]
|
||
Prompt[系统提示词]
|
||
Language[语言]
|
||
end
|
||
|
||
subgraph Models
|
||
LLM[LLM 模型]
|
||
ASR[ASR 模型]
|
||
TTS[TTS 声音]
|
||
end
|
||
|
||
subgraph Capabilities
|
||
Tools[工具调用]
|
||
KB[知识库]
|
||
end
|
||
|
||
subgraph Behavior
|
||
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 语音输出 |
|
||
| **文本** | 纯文本输出 |
|
||
| **混合** | 同时输出语音和文本 |
|
||
|
||
---
|
||
|
||
## 助手版本管理
|
||
|
||
### 草稿与发布
|
||
|
||
```mermaid
|
||
gitGraph
|
||
commit id: "创建助手"
|
||
commit id: "配置提示词"
|
||
commit id: "添加工具"
|
||
branch published
|
||
checkout published
|
||
commit id: "发布 v1"
|
||
checkout main
|
||
commit id: "修改提示词"
|
||
commit id: "调整参数"
|
||
checkout published
|
||
merge main id: "发布 v2"
|
||
```
|
||
|
||
- **草稿**: 可随时修改,仅供测试
|
||
- **发布**: 正式上线,用于生产环境
|
||
|
||
### 配置导入导出
|
||
|
||
支持以 JSON 格式导入导出助手配置,便于:
|
||
|
||
- 备份和恢复
|
||
- 跨环境迁移
|
||
- 团队共享模板
|
||
|
||
---
|
||
|
||
## 最佳实践
|
||
|
||
### 1. 提示词工程
|
||
|
||
- **明确角色**: 清晰定义助手身份
|
||
- **设定边界**: 明确能做什么、不能做什么
|
||
- **控制长度**: 语音场景下回复要简短
|
||
|
||
### 2. 模型选择
|
||
|
||
- **平衡成本与效果**: 不一定需要最强模型
|
||
- **测试不同供应商**: 找到最适合场景的组合
|
||
- **考虑延迟**: 语音交互对延迟敏感
|
||
|
||
### 3. 工具设计
|
||
|
||
- **单一职责**: 每个工具做一件事
|
||
- **清晰描述**: 让 LLM 正确理解何时调用
|
||
- **错误处理**: 工具失败时优雅降级
|
||
|
||
---
|
||
|
||
## 相关文档
|
||
|
||
- [助手配置](../assistants/configuration.md) - 配置界面详解
|
||
- [提示词指南](../assistants/prompts.md) - 编写高质量提示词
|
||
- [工具集成](../customization/tools.md) - 工具配置详情
|