调整回复顺序

This commit is contained in:
zhinianboke 2025-07-24 16:30:14 +08:00
parent d683c5866a
commit 7a34ea49c0
6 changed files with 182 additions and 11 deletions

View File

@ -113,14 +113,16 @@ AI分析消息内容识别用户意图
## 📊 优先级说明 ## 📊 优先级说明
当账号启用AI回复后系统回复优先级为: 系统回复优先级为:
1. **🔥 API回复** (最高优先级) 1. **🔥 API回复** (最高优先级)
2. **🤖 AI回复** (AI启用时) 2. **📝 关键词匹配** (优先匹配精确关键词)
3. **📝 关键词匹配** (AI禁用时) 3. **🤖 AI回复** (AI启用时的智能回复)
4. **💬 默认回复** (最低优先级) 4. **💬 默认回复** (最低优先级)
> ⚠️ **重要**: 启用AI回复后关键词匹配和默认回复将自动失效 > ✨ **优化**: 关键词回复优先于AI回复确保重要关键词能够精确匹配
>
> 💡 **说明**: 即使启用AI回复关键词匹配仍然有效只有在没有匹配的关键词时才会使用AI回复。
## 🧪 功能测试 ## 🧪 功能测试

View File

@ -2,6 +2,19 @@
本文档记录了闲鱼自动回复管理系统的所有重要更新和变更。 本文档记录了闲鱼自动回复管理系统的所有重要更新和变更。
## [v2.0.1] - 2024-07-24
### 🔧 功能改进
- **回复优先级优化**调整自动回复逻辑关键词回复优先于AI回复
- 新的优先级顺序API回复 → 关键词回复 → AI回复 → 默认回复
- 确保重要关键词能够精确匹配AI回复作为智能补充
- 提高回复的准确性和用户体验
### 📚 文档更新
- 更新AI回复功能指南中的优先级说明
- 更新使用说明中的回复逻辑描述
- 更新README.md中的功能特性说明
## [v2.0.0] - 2024-07-24 ## [v2.0.0] - 2024-07-24
### 🎉 重大更新 ### 🎉 重大更新

View File

@ -36,6 +36,7 @@
- **智能议价**:阶梯式降价策略,可设置最大优惠幅度 - **智能议价**:阶梯式降价策略,可设置最大优惠幅度
- **上下文感知**:记住完整对话历史,提供连贯回复 - **上下文感知**:记住完整对话历史,提供连贯回复
- **自定义提示词**支持针对不同场景自定义AI提示词 - **自定义提示词**支持针对不同场景自定义AI提示词
- **智能优先级**关键词回复优先AI回复作为智能补充
### 👥 多账号管理 ### 👥 多账号管理
- **账号隔离**:每个账号独立配置和管理 - **账号隔离**:每个账号独立配置和管理

View File

@ -1818,16 +1818,17 @@ class XianyuLive:
# 记录回复来源 # 记录回复来源
reply_source = 'API' # 默认假设是API回复 reply_source = 'API' # 默认假设是API回复
# 如果API回复失败或未启用API尝试使用AI回复 # 如果API回复失败或未启用API按优先级尝试其他回复方式
if not reply: if not reply:
reply = await self.get_ai_reply(send_user_name, send_user_id, send_message, item_id, chat_id) # 优先尝试关键词匹配回复
reply = await self.get_keyword_reply(send_user_name, send_user_id, send_message)
if reply: if reply:
reply_source = 'AI' # 标记为AI回复 reply_source = '关键词' # 标记为关键词回复
else: else:
# 如果AI回复也失败尝试关键词匹配 # 如果关键词匹配失败尝试AI回复
reply = await self.get_keyword_reply(send_user_name, send_user_id, send_message) reply = await self.get_ai_reply(send_user_name, send_user_id, send_message, item_id, chat_id)
if reply: if reply:
reply_source = '关键词' # 标记为关键词回复 reply_source = 'AI' # 标记为AI回复
else: else:
# 最后尝试使用默认回复 # 最后尝试使用默认回复
reply = await self.get_default_reply(send_user_name, send_user_id, send_message) reply = await self.get_default_reply(send_user_name, send_user_id, send_message)

View File

@ -70,7 +70,14 @@ python Start.py
- **精确匹配**:支持关键词精确匹配 - **精确匹配**:支持关键词精确匹配
- **变量替换**:回复内容支持动态变量 - **变量替换**:回复内容支持动态变量
- **优先级**:账号级关键词优先于全局关键词 - **优先级**:账号级关键词优先于全局关键词
- **默认回复**:未匹配关键词时使用默认回复 - **智能回复优先级**:关键词回复 → AI回复 → 默认回复
### 回复优先级说明
系统按以下优先级处理回复:
1. **🔥 API回复** - 外部API接口回复最高优先级
2. **📝 关键词回复** - 精确关键词匹配回复
3. **🤖 AI智能回复** - AI模型生成的智能回复
4. **💬 默认回复** - 兜底的默认回复内容
### API接口 ### API接口
- **接口地址**`POST http://localhost:8080/xianyu/reply` - **接口地址**`POST http://localhost:8080/xianyu/reply`

View File

@ -0,0 +1,147 @@
# 🔄 回复优先级优化说明
## 📋 优化概述
本次更新对自动回复系统的优先级逻辑进行了重要调整确保关键词回复优先于AI回复提高回复的准确性和用户体验。
## 🔧 优化内容
### 原有逻辑v2.0.0之前)
```
API回复 → AI回复 → 关键词回复 → 默认回复
```
**问题**
- AI回复可能覆盖重要的关键词回复
- 精确的关键词匹配被AI的通用回复替代
- 用户设置的关键词回复优先级过低
### 新的逻辑v2.0.1
```
API回复 → 关键词回复 → AI回复 → 默认回复
```
**优势**
- ✅ 关键词回复优先级提升,确保精确匹配
- ✅ AI回复作为智能补充处理无关键词匹配的情况
- ✅ 保持API回复的最高优先级
- ✅ 默认回复作为最后的兜底方案
## 🎯 使用场景
### 场景1价格咨询
**用户消息**`"请问这个商品的价格是多少?"`
**处理流程**
1. 检查API回复 → 无
2. 检查关键词匹配 → 匹配"价格"关键词 ✅
3. 返回:`"这个商品价格是100元"`
**结果**精确的价格信息而不是AI的通用回复
### 场景2通用咨询
**用户消息**`"这个东西怎么样?质量好吗?"`
**处理流程**
1. 检查API回复 → 无
2. 检查关键词匹配 → 无匹配
3. 使用AI回复 ✅
4. 返回:`"AI智能回复根据您的问题我建议..."`
**结果**AI提供智能化的个性回复
### 场景3兜底回复
**用户消息**`"随便说点什么"`
**处理流程**
1. 检查API回复 → 无
2. 检查关键词匹配 → 无匹配
3. 检查AI回复 → 失败或未启用
4. 使用默认回复 ✅
5. 返回:`"您好,感谢咨询!"`
**结果**:确保总是有回复内容
## 📊 优化效果
### 回复准确性提升
- **关键词匹配率**100%(优先级最高)
- **重要信息覆盖**避免AI回复覆盖重要关键词
- **用户体验**:精确回复 + 智能补充
### 系统稳定性
- **回复成功率**保持100%(多层备选机制)
- **响应速度**:关键词匹配更快
- **资源使用**减少不必要的AI调用
## 🔧 技术实现
### 代码修改位置
**文件**`XianyuAutoAsync.py`
**行数**1821-1835
### 修改前代码
```python
# 如果API回复失败或未启用API尝试使用AI回复
if not reply:
reply = await self.get_ai_reply(send_user_name, send_user_id, send_message, item_id, chat_id)
if reply:
reply_source = 'AI'
else:
# 如果AI回复也失败尝试关键词匹配
reply = await self.get_keyword_reply(send_user_name, send_user_id, send_message)
if reply:
reply_source = '关键词'
else:
# 最后尝试使用默认回复
reply = await self.get_default_reply(send_user_name, send_user_id, send_message)
reply_source = '默认'
```
### 修改后代码
```python
# 如果API回复失败或未启用API按优先级尝试其他回复方式
if not reply:
# 优先尝试关键词匹配回复
reply = await self.get_keyword_reply(send_user_name, send_user_id, send_message)
if reply:
reply_source = '关键词'
else:
# 如果关键词匹配失败尝试AI回复
reply = await self.get_ai_reply(send_user_name, send_user_id, send_message, item_id, chat_id)
if reply:
reply_source = 'AI'
else:
# 最后尝试使用默认回复
reply = await self.get_default_reply(send_user_name, send_user_id, send_message)
reply_source = '默认'
```
## 📚 相关文档更新
### 更新的文档
1. **AI_REPLY_GUIDE.md** - 更新优先级说明
2. **使用说明.md** - 添加回复优先级说明
3. **README.md** - 更新功能特性描述
4. **CHANGELOG.md** - 记录版本更新
### 新增说明
- 关键词回复优先于AI回复的原因
- 各种回复方式的适用场景
- 优化后的用户体验改进
## 🎉 总结
这次优化确保了:
- **精确性**:重要关键词得到精确回复
- **智能性**AI回复作为智能补充
- **稳定性**:多层备选确保回复成功
- **用户体验**:更准确、更贴心的自动回复
通过合理的优先级设计,系统既保持了智能化特性,又确保了关键信息的准确传达,为用户提供更好的自动回复体验。
---
**版本**v2.0.1
**更新时间**2024-07-24
**影响范围**:自动回复逻辑核心功能