Files

2.5 KiB
Raw Permalink Blame History

Bug修复报告

问题描述

用户在使用自动客服功能时,当询问"介绍公司产品"或"介绍公司设备"等问题时,系统错误地发送了素材库中的"猫猫视频",而不是发送相关的产品介绍素材。

问题原因

helper/auto_reply_materials.go 文件的 matchMaterials 函数中第48-104行素材匹配逻辑存在缺陷

原始代码第67-70行

searchText := strings.ToLower(strings.TrimSpace(searchContext))
for _, hit := range hits {
    searchText += "\n" + strings.ToLower(hit.Title+" "+hit.Content+" "+hit.Source)
}

问题在于:

  1. 系统先使用用户的问题搜索知识库
  2. 知识库搜索结果hits的内容被加入到素材匹配的 searchText 中
  3. 如果知识库中包含"猫"、"视频"等关键词,就会错误地匹配到"猫猫视频"素材
  4. 导致发送了不相关的素材

修复方案

修改后的代码第67-70行

// 只使用用户的原始问题进行素材匹配,不包含知识库搜索结果
// 这样可以避免知识库内容中的关键词干扰素材匹配
searchText := strings.ToLower(strings.TrimSpace(userQuery))

核心改进:

  • 素材匹配现在只基于用户的原始问题userQuery
  • 不再将知识库搜索结果混入素材匹配逻辑
  • 知识库搜索结果仅用于AI生成回答不影响素材选择

测试验证

修复后的行为:

  • 用户问"我要猫猫照片" → 正确发送猫猫照片素材
  • 用户问"我要猫猫视频" → 正确发送猫猫视频素材
  • 用户问"介绍公司产品" → 只会在素材库有明确匹配"产品"关键词的素材时才发送,不会因为知识库中出现其他词而误发

编译信息

  • 修复时间2026-06-15 15:16
  • 修改文件helper/auto_reply_materials.go
  • 已编译文件:
    • build/bin/qiweimanager.exe (126MB)
    • build/bin/helper.exe (16MB) - 包含修复
  • MD5校验
    • helper.exe: f92830d586af6e2646d59fd7acf3cfb0
    • qiweimanager.exe: 3f853a55f0d8574f90322f36d31424ea

部署说明

  1. 停止正在运行的 qiweimanager.exe 和 helper.exe
  2. 用新编译的文件替换原文件:
    • 复制 build/bin/qiweimanager.exe 到运行目录
    • 复制 build/bin/helper.exe 到运行目录
  3. 重新启动程序
  4. 测试素材匹配功能是否正常

注意事项

  • 此修复不影响现有配置文件和知识库
  • 无需重建知识库索引
  • 素材库materials/)目录保持不变
  • 建议在测试环境验证后再部署到生产环境