# 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. 支持自定义指令学习