xinli/xinlidsj/AI意图识别说明.md
2026-02-26 18:18:03 +08:00

130 lines
3.9 KiB
Markdown
Raw Permalink 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.

# AI意图识别系统
## 概述
系统现在使用AI大模型来理解用户的自然语言输入而不是依赖固定的正则表达式匹配。这使得用户可以用更自然、更灵活的方式与系统交互。
## 工作流程
1. **用户输入** → 用户在AI对话框中输入自然语言指令
2. **AI意图识别** → 系统调用大模型DeepSeek/通义千问)理解用户意图
3. **结构化输出** → AI返回JSON格式的指令和参数
4. **执行指令** → 系统根据识别结果执行相应操作
5. **回退机制** → 如果AI识别失败自动回退到原有的正则匹配
## 支持的指令类型
### 1. 导航类指令
- `goWarning` - 打开预警中心
- `goProfile` - 打开个体画像
- `goComprehensive` - 打开综合报告
- `goInterventionTask` - 打开干预任务
- `goReport` - 打开报告列表/详情
- `goMessage` - 打开消息/收件箱
- `goNotice` - 打开通知公告
- `goDashboard` - 打开监区看板
- `goTagFilter` - 打开标签筛选
- `goVoice` - 打开语音助手
### 2. 分析类指令
- `analyzeReport` - 分析报告
- `analyzeProfile` - 分析个体画像
- `analyzeData` - 分析平台数据
### 3. 控制类指令
- `clearChat` - 清空对话记录
- `toggleChat` - 展开/收起对话框
- `goBack` - 返回上一页
- `goHome` - 返回首页
## 使用示例
### 原来的方式(正则匹配)
```
用户输入:"打开张三的报告"
系统:使用正则 /打开\s*([^\s的]{1,32})\s*的?报告/ 匹配
结果:✅ 能识别
用户输入:"帮我看看张三的报告"
系统:正则无法匹配
结果:❌ 无法识别
```
### 现在的方式AI理解
```
用户输入:"打开张三的报告"
AI理解用户想查看张三的报告
返回:{"action":"goReport","params":{"keyword":"张三"},"confidence":0.95}
结果:✅ 能识别
用户输入:"帮我看看张三的报告"
AI理解用户想查看张三的报告
返回:{"action":"goReport","params":{"keyword":"张三"},"confidence":0.9}
结果:✅ 能识别
用户输入:"我想了解一下李四的情况"
AI理解用户想查看李四的个体画像
返回:{"action":"goProfile","params":{"keyword":"李四"},"confidence":0.85}
结果:✅ 能识别
用户输入:"有没有严重的预警需要处理"
AI理解用户想查看严重级别的预警
返回:{"action":"goWarning","params":{"warningLevel":"严重"},"confidence":0.9}
结果:✅ 能识别
```
## 优势
1. **更自然的交互** - 用户可以用日常语言表达需求
2. **更强的容错性** - 不需要记住精确的指令格式
3. **更好的扩展性** - 添加新指令只需更新配置,无需写正则
4. **智能参数提取** - AI自动从语句中提取关键信息
5. **回退保障** - AI识别失败时自动使用原有的正则匹配
## 技术实现
### 核心方法
1. **parseUserIntentWithAI(userInput)** - AI意图识别
- 输入:用户的自然语言
- 输出结构化的指令JSON
- 使用DeepSeek API / 通义千问 API
2. **executeAIIntent(intent)** - 执行识别出的指令
- 输入AI返回的指令JSON
- 输出:是否成功执行
- 功能根据action和params执行相应操作
3. **sendAiChat()** - 修改后的消息发送方法
- 先尝试AI意图识别
- 识别成功则执行指令
- 识别失败则回退到正则匹配
### AI Prompt设计
系统使用精心设计的prompt来引导AI
- 明确定义所有可用指令
- 要求返回标准JSON格式
- 包含置信度评分
- 提供示例来提高准确性
### 置信度阈值
- 置信度 >= 0.6:执行指令
- 置信度 < 0.6忽略结果回退到正则匹配
## 配置
AI意图识别使用与AI对话相同的配置
- DeepSeek API默认
- 通义千问 API可选
无需额外配置开箱即用
## 未来扩展
1. 支持多轮对话上下文
2. 支持复合指令一次执行多个操作
3. 支持模糊查询和智能推荐
4. 支持自定义指令学习