This commit is contained in:
rjb
2026-01-22 09:59:02 +08:00
parent 47dac9f33b
commit f7702f4e72
18 changed files with 8012 additions and 104 deletions

View File

@@ -0,0 +1,337 @@
# 智能聊天Agent完整示例说明
## 📋 概述
这是一个完整的聊天智能体示例,展示了如何使用平台的核心能力构建一个功能完善的聊天助手。该示例包含了记忆管理、意图识别、多分支路由、上下文传递等核心功能。
## 🎯 功能特性
### ✅ 核心能力展示
1. **记忆管理**
- 使用缓存节点存储对话历史
- 支持用户画像和上下文信息
- 自动更新记忆内容
2. **意图识别**
- 使用LLM节点分析用户意图
- 识别情感状态
- 提取关键词和话题
3. **多分支路由**
- 使用Switch节点根据意图分发
- 支持6种不同场景的处理分支
- 默认分支处理未知意图
4. **上下文传递**
- 使用Transform节点合并数据
- 保持对话历史的连贯性
- 支持多轮对话
5. **个性化回复**
- 根据不同意图生成针对性回复
- 考虑用户情感状态
- 保持对话风格一致
## 🔄 工作流结构
```
开始节点
查询记忆Cache节点
合并上下文Transform节点
意图理解LLM节点
意图路由Switch节点
├─→ 问候处理greeting
├─→ 问题回答question
├─→ 情感回应emotion
├─→ 请求处理request
├─→ 告别回复goodbye
└─→ 通用回复default
合并回复Merge节点
更新记忆Cache节点
格式化回复LLM节点
结束节点
```
## 📊 节点详细说明
### 1. 开始节点start-1
- **功能**: 接收用户输入
- **输入格式**: JSON格式包含 `query` 字段
- **输出**: 将用户输入传递给后续节点
### 2. 查询记忆节点cache-query
- **类型**: Cache节点
- **操作**: `get` - 获取用户记忆
- **Key**: `user_memory_{user_id}`
- **默认值**: 空记忆结构
- **功能**: 从缓存中读取用户的对话历史和画像信息
### 3. 合并上下文节点transform-merge
- **类型**: Transform节点
- **模式**: `merge` - 合并模式
- **功能**: 将用户输入、记忆数据、时间戳合并为完整上下文
### 4. 意图理解节点llm-intent
- **类型**: LLM节点
- **模型**: DeepSeek Chat
- **功能**:
- 分析用户输入
- 识别意图类型greeting/question/emotion/request/goodbye/other
- 识别情感状态positive/neutral/negative
- 提取关键词和话题
- **输出格式**: JSON
```json
{
"intent": "意图类型",
"emotion": "情感状态",
"keywords": ["关键词"],
"topic": "话题主题",
"needs_response": true
}
```
### 5. 意图路由节点switch-intent
- **类型**: Switch节点
- **功能**: 根据意图类型路由到不同的处理分支
- **分支**:
- `greeting` → 问候处理
- `question` → 问题回答
- `emotion` → 情感回应
- `request` → 请求处理
- `goodbye` → 告别回复
- `default` → 通用回复
### 6. 各分支处理节点llm-*
- **类型**: LLM节点
- **功能**: 根据不同意图生成针对性的回复
- **特点**:
- 问候分支:友好、亲切
- 问题分支:准确、详细
- 情感分支:共情、温暖
- 请求分支:专业、清晰
- 告别分支:温暖、期待
- 通用分支:自然、连贯
### 7. 合并回复节点merge-response
- **类型**: Merge节点
- **模式**: `merge_first` - 合并第一个结果
- **功能**: 将各分支的回复结果合并
### 8. 更新记忆节点cache-update
- **类型**: Cache节点
- **操作**: `set` - 设置记忆
- **功能**:
- 将本次对话添加到历史记录
- 更新用户画像(如需要)
- 保存上下文信息
- **TTL**: 86400秒24小时
### 9. 格式化回复节点llm-format
- **类型**: LLM节点
- **功能**: 对最终回复进行格式化和优化
- **输出**: 自然、流畅的文本回复
### 10. 结束节点end-1
- **功能**: 返回最终回复
- **输出格式**: 纯文本
## 🚀 使用方法
### 方法一:使用生成脚本(推荐)
```bash
cd backend/scripts
python3 generate_chat_agent.py
```
脚本会自动创建Agent包含完整的工作流配置。
### 方法二:手动创建
1. **进入Agent管理页面**
- 点击"创建Agent"按钮
- 填写名称和描述
2. **进入工作流编辑器**
- 点击"设计"按钮
- 使用节点工具箱添加节点
- 按照工作流结构连接节点
3. **配置节点**
- **LLM节点**: 配置API密钥、模型、Prompt
- **Cache节点**: 配置缓存Key和操作
- **Switch节点**: 配置路由规则
- **Transform节点**: 配置数据映射
4. **测试Agent**
- 点击"测试"按钮
- 输入测试消息
- 查看执行结果
5. **发布Agent**
- 点击"发布"按钮
- Agent状态变为"已发布"
- 可以开始使用
## 📝 配置要点
### 1. LLM节点配置
- **Provider**: 选择AI模型提供商如DeepSeek、OpenAI
- **Model**: 选择具体模型如deepseek-chat、gpt-3.5-turbo
- **Temperature**:
- 意图识别0.3(需要准确性)
- 情感回应0.8(需要创造性)
- 问题回答0.5(平衡准确性和灵活性)
- **Max Tokens**: 根据回复长度需求设置
- **Prompt**: 明确角色、任务、输出格式要求
### 2. Cache节点配置
- **Operation**:
- `get`: 查询记忆
- `set`: 更新记忆
- **Key**: 使用用户ID确保记忆隔离
- **TTL**: 设置合适的过期时间如24小时
### 3. Switch节点配置
- **Field**: 指定用于路由的字段(如`intent`
- **Cases**: 配置各分支的路由规则
- **Default**: 配置默认分支
### 4. Transform节点配置
- **Mode**: 选择合并模式(`merge`
- **Mapping**: 配置数据映射规则
- **变量引用**: 使用`{{variable}}`引用上游数据
## 🎨 自定义扩展
### 1. 添加新的意图分支
1. 在Switch节点中添加新的case
2. 创建对应的LLM处理节点
3. 连接Switch节点和处理节点
4. 连接处理节点到Merge节点
### 2. 增强记忆功能
- 添加用户画像更新逻辑
- 实现长期记忆和短期记忆分离
- 添加记忆检索和总结功能
### 3. 添加外部工具
- 集成知识库查询
- 添加天气、新闻等外部API
- 实现文件处理功能
### 4. 优化回复质量
- 添加回复质量评估节点
- 实现多候选回复生成和选择
- 添加回复风格控制
## 🔍 测试示例
### 测试用例1问候
```
输入: "你好"
预期: 友好的问候回复
```
### 测试用例2问题
```
输入: "今天天气怎么样?"
预期: 尝试回答问题或说明无法获取天气信息
```
### 测试用例3情感表达
```
输入: "我今天心情不太好"
预期: 共情、安慰的回复
```
### 测试用例4请求
```
输入: "帮我写一首诗"
预期: 生成诗歌或说明能力范围
```
### 测试用例5告别
```
输入: "再见"
预期: 温暖的告别回复
```
## ⚠️ 注意事项
1. **API密钥配置**
- 确保所有LLM节点都配置了有效的API密钥
- 检查API配额和限制
2. **记忆管理**
- Cache节点使用内存缓存重启后会丢失
- 生产环境建议使用Redis等持久化缓存
3. **性能优化**
- 减少不必要的LLM调用
- 优化Prompt长度
- 合理设置Token限制
4. **错误处理**
- 添加错误处理节点
- 配置重试机制
- 提供友好的错误提示
## 📚 相关文档
- [创建Agent经验总结](./创建Agent经验.md)
- [工作流节点类型说明](./可新增节点类型建议.md)
- [Agent使用说明](./Agent使用说明.md)
## 🎯 适用场景
- ✅ 情感陪聊助手
- ✅ 客服机器人
- ✅ 智能问答系统
- ✅ 对话式AI应用
- ✅ 个性化聊天助手
## 💡 最佳实践
1. **Prompt设计**
- 明确角色定位
- 明确输出格式
- 提供示例和上下文
2. **工作流设计**
- 保持流程清晰
- 合理使用分支
- 避免过度复杂
3. **记忆管理**
- 定期清理过期记忆
- 控制记忆大小
- 保护用户隐私
4. **测试验证**
- 覆盖各种场景
- 测试边界情况
- 验证回复质量
---
**创建时间**: 2024年
**版本**: 1.0
**作者**: AI Agent Platform