You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.5 KiB
4.5 KiB
AI智能分类功能更新说明
更新时间
2026-01-07
更新内容
1. 修改关键词提取为AI智能分类
之前的实现:
- 使用关键词匹配的方式识别分类
- 需要维护大量的关键词映射表
- 匹配不够智能,容易出现误判
现在的实现:
- 使用阿里云百炼AI模型进行智能分类
- AI会理解用户的意图和描述
- 从26个分类中选择最匹配的一个
- 更加准确和智能
2. 删除后备关键词匹配函数
删除的函数:
fallback_keyword_matching()- 关键词匹配后备方案
原因:
- 用户明确表示不需要这个方法
- AI分类已经足够准确
- 简化代码逻辑
3. 错误处理优化
AI分类失败时的处理:
- 不再调用关键词匹配后备方案
- 直接返回默认分类"泛生活"
- 保持系统的简洁性
支持的26个分类
- 美食
- 旅行
- 泛生活
- 汽车
- 科技
- 游戏
- 二次元
- 娱乐
- 明星
- 体育
- 文化教育
- 校园
- 政务
- 时尚
- 才艺
- 随拍
- 动植物
- 图文控
- 剧情
- 亲子
- 三农
- 创意
- 户外
- 公益
工作流程
extract_search_keywords() 函数
def extract_search_keywords(user_query: str) -> Dict:
"""
使用AI从用户查询中提取最匹配的内容分类
Args:
user_query: 用户查询
Returns:
提取的分类信息
"""
执行步骤:
-
构建AI提示词
- 列出所有26个分类
- 要求AI从中选择最匹配的一个
- 如果无法确定,返回"泛生活"
-
调用AI模型
- 使用
qwen-plus模型 - 发送用户描述和分类列表
- 获取AI的分类结果
- 使用
-
验证分类结果
- 检查AI返回的分类是否在列表中
- 如果不在,尝试模糊匹配
- 都不匹配则使用默认分类"泛生活"
-
错误处理
- API调用失败:返回默认分类
- 异常情况:返回默认分类
- 不再使用关键词匹配后备方案
返回格式
{
"success": true,
"categories": ["美食"],
"primary_category": "美食",
"original_query": "我想做一些美食相关的短视频",
"method": "ai_classification"
}
字段说明:
success: 是否成功categories: 分类列表(数组,目前只包含一个)primary_category: 主分类original_query: 用户原始查询method: 分类方法ai_classification: AI智能分类ai_classification_fuzzy: AI分类+模糊匹配default: 默认分类
测试方法
方法1:使用测试脚本
python test_ai_classification.py
这个脚本会测试多个场景:
- 明确提到分类的查询
- 描述内容特征的查询
- 不明确的查询
方法2:使用完整的Agent测试
python test_agent.py
或者使用快速测试:
python quick_test.py
方法3:通过API测试
启动API服务:
python api.py
调用Agent接口:
curl -X POST "http://localhost:8001/api/agent" \
-H "Content-Type: application/json" \
-d "{\"query\": \"我想做一些美食相关的短视频\"}"
优势
- 更智能:AI能理解用户的真实意图
- 更准确:不依赖关键词匹配,减少误判
- 更简洁:删除了复杂的关键词映射表
- 更灵活:可以理解各种表达方式
- 更易维护:不需要维护关键词列表
注意事项
- API Key配置:确保
.env文件中配置了正确的DASHSCOPE_API_KEY - 网络连接:需要能够访问阿里云百炼API
- 默认分类:当AI无法确定时,会使用"泛生活"作为默认分类
- 分类列表:如果需要添加新分类,需要同时更新:
extract_search_keywords()函数中的分类列表get_creative_guidance工具的enum参数prompts/agent_prompt.md中的分类列表
相关文件
ai_agent.py- 核心实现文件prompts/agent_prompt.md- Agent系统提示词test_ai_classification.py- 分类功能测试脚本test_agent.py- 完整Agent测试脚本quick_test.py- 快速测试脚本api.py- API接口定义
下一步
系统已经完成了AI智能分类的实现,可以进行以下测试:
- 测试AI分类功能是否正常工作
- 验证26个分类都能被正确识别
- 测试完整的创作灵感生成流程
- 验证错误处理是否正常
如果测试通过,系统就可以正式使用了!