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

AI智能分类功能更新说明

更新时间

2026-01-07

更新内容

1. 修改关键词提取为AI智能分类

之前的实现

  • 使用关键词匹配的方式识别分类
  • 需要维护大量的关键词映射表
  • 匹配不够智能,容易出现误判

现在的实现

  • 使用阿里云百炼AI模型进行智能分类
  • AI会理解用户的意图和描述
  • 从26个分类中选择最匹配的一个
  • 更加准确和智能

2. 删除后备关键词匹配函数

删除的函数

  • fallback_keyword_matching() - 关键词匹配后备方案

原因

  • 用户明确表示不需要这个方法
  • AI分类已经足够准确
  • 简化代码逻辑

3. 错误处理优化

AI分类失败时的处理

  • 不再调用关键词匹配后备方案
  • 直接返回默认分类"泛生活"
  • 保持系统的简洁性

支持的26个分类

  1. 美食
  2. 旅行
  3. 泛生活
  4. 汽车
  5. 科技
  6. 游戏
  7. 二次元
  8. 娱乐
  9. 明星
  10. 体育
  11. 文化教育
  12. 校园
  13. 政务
  14. 时尚
  15. 才艺
  16. 随拍
  17. 动植物
  18. 图文控
  19. 剧情
  20. 亲子
  21. 三农
  22. 创意
  23. 户外
  24. 公益

工作流程

extract_search_keywords() 函数

def extract_search_keywords(user_query: str) -> Dict:
    """
    使用AI从用户查询中提取最匹配的内容分类
    
    Args:
        user_query: 用户查询
        
    Returns:
        提取的分类信息
    """

执行步骤

  1. 构建AI提示词

    • 列出所有26个分类
    • 要求AI从中选择最匹配的一个
    • 如果无法确定,返回"泛生活"
  2. 调用AI模型

    • 使用 qwen-plus 模型
    • 发送用户描述和分类列表
    • 获取AI的分类结果
  3. 验证分类结果

    • 检查AI返回的分类是否在列表中
    • 如果不在,尝试模糊匹配
    • 都不匹配则使用默认分类"泛生活"
  4. 错误处理

    • 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\": \"我想做一些美食相关的短视频\"}"

优势

  1. 更智能:AI能理解用户的真实意图
  2. 更准确:不依赖关键词匹配,减少误判
  3. 更简洁:删除了复杂的关键词映射表
  4. 更灵活:可以理解各种表达方式
  5. 更易维护:不需要维护关键词列表

注意事项

  1. API Key配置:确保 .env 文件中配置了正确的 DASHSCOPE_API_KEY
  2. 网络连接:需要能够访问阿里云百炼API
  3. 默认分类:当AI无法确定时,会使用"泛生活"作为默认分类
  4. 分类列表:如果需要添加新分类,需要同时更新:
    • 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智能分类的实现,可以进行以下测试:

  1. 测试AI分类功能是否正常工作
  2. 验证26个分类都能被正确识别
  3. 测试完整的创作灵感生成流程
  4. 验证错误处理是否正常

如果测试通过,系统就可以正式使用了!