Files
kefu/deploy/knowledge-v5-search-deployed.md
T
2026-09-21 10:34:06 +08:00

34 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 检索报错修复已上线
2026-09-16,服务器 192.168.110.111;入口 http://192.168.110.111:8369/#/knowledge/center。
## 原因及修复
旧构建在检索问题为空或不足 2 个字符时直接提交请求,FastAPI 返回 detail 校验数组,通用错误处理把对象传入消息组件,显示 `[object Object]`。本地使用旧构建和模拟账号完整复现了截图中的提示;线上日志未提供可匹配的检索访问记录,因此没有声称捕获了用户当次具体请求。
- 前端先去除首尾空白,按 Unicode 字符校验 2–2000 字符,非法输入直接展示中文说明,不发送无效请求;后端同步先去除空白再校验。
- 公共错误提示支持字符串、FastAPI 校验数组和嵌套消息,避免直接展示对象及校验响应中的 input。
- 兼容请求客户端先解包 response.data 再抛错的行为,检索区域持续显示具体错误;失败后清除旧命中结果,捕获请求异常。
- 没有已发布知识的账号展示先审核并发布的说明;合法检索仍正常返回空结果。草稿、待发布知识仍不参与检索。
## 验证
- 本地及服务器候选容器各通过 96 项后端回归测试。
- 10 项前端错误格式与批量操作测试、类型检查、生产构建通过。
- 隔离浏览器验证空白、单字、超长问题拦截;正常问题回车检索及首尾空白处理;模拟 422 数组中文错误;清除旧结果;空知识库提示,无页面脚本错误。
- 模拟账号的 3 条知识分别为已发布、待发布、草稿,正常检索仅命中已发布的 1 条。线上测试没有发布或审核真实知识,没有发送真实聊天至模型。
- 241 个部署文件、236 个运行镜像文件哈希一致;实际内网入口与新页面资源正常;未登录检索请求返回 401。
- API、网关健康,Worker 运行;三个容器重启计数均为 0。数据库 quick_check=ok,校验时归档消息 545095 条、知识 259 条,原有数据保留。
## 版本及回滚
- 发布目录:/home/ps/knowledge-v5-search-20260916。
- 镜像:zyt/wecom-admin:knowledge-v5-search-20260916(current)。
- 镜像 ID:sha256:1d6df0547b32c29ab28c6d96c0a434f5587cb1b62e97c7aaa0a454c4932c1976。
- 旧镜像:zyt/wecom-admin:before-knowledge-v5-search-20260916。
- 源码备份:发布目录 source-before.tar.gz。
- 数据库与密钥备份:/opt/im-admin/deploy/im-admin/data/backups/knowledge-v5-search-20260916。固定读快照耗时 10.5 秒、文件 4505079808 字节,重新只读打开检查正常。
- 回滚:bash /home/ps/knowledge-v5-search-20260916/rollback.sh。恢复代码和镜像,保留线上数据库与新增聊天。
部署记录:deploy/knowledge-v5-search-20260916。浏览器验证:deploy/knowledge-v5-search/qa/result.json 及前后截图。