fix: 统一检索式聊天输入校验并补齐后端验收 #48

Merged
saint merged 1 commits from kronecker/fix/backend-chat-validation AGit into dev 2026-10-17 14:29:12 +08:00
Collaborator

/api/chat 允许2000字符问题,但内部关键词查询只接受500字符。501字符请求已复现返回500;现共用查询字段约束,在HTTP边界对超限输入返回422,500字符仍可正常检索。

问题先去除首尾空白,拒绝空白/错误类型/额外字段,不截断、不保存失败请求历史。只传question的已有调用保持兼容;曾被忽略的额外字段现在明确422。没有API路径、响应字段或数据库迁移变化,没有模型调用。

补齐新合入的检索式聊天集成验证:审核/删除/资料修订筛选、公开聊天与管理员历史边界、历史快照不变、容量与写入错误不伪装成功、真实HTTP重启后的记录与导出。CHAT_API.md区分条目关键词聊天、主页面RRF和chunk级Responses准备,并更新过期占位说明。聊天路由另做一处ruff格式整理。

验证:

  • 聊天/关键词专项35 passed;完整后端312 passed, 1 skipped。
  • skip为显式启用的真实Embedding专项;本轮全部使用合成证据,无Embedding或生成模型调用。
  • ruff检查/格式检查、git diff --check、最新前端类型与生产构建通过。

基于已合入PR45/46/47的最新dev,独立修复阶段;没有页面交互修改或新增浏览器验收结论。

/api/chat 允许2000字符问题,但内部关键词查询只接受500字符。501字符请求已复现返回500;现共用查询字段约束,在HTTP边界对超限输入返回422,500字符仍可正常检索。 问题先去除首尾空白,拒绝空白/错误类型/额外字段,不截断、不保存失败请求历史。只传question的已有调用保持兼容;曾被忽略的额外字段现在明确422。没有API路径、响应字段或数据库迁移变化,没有模型调用。 补齐新合入的检索式聊天集成验证:审核/删除/资料修订筛选、公开聊天与管理员历史边界、历史快照不变、容量与写入错误不伪装成功、真实HTTP重启后的记录与导出。CHAT_API.md区分条目关键词聊天、主页面RRF和chunk级Responses准备,并更新过期占位说明。聊天路由另做一处ruff格式整理。 验证: - 聊天/关键词专项35 passed;完整后端312 passed, 1 skipped。 - skip为显式启用的真实Embedding专项;本轮全部使用合成证据,无Embedding或生成模型调用。 - ruff检查/格式检查、git diff --check、最新前端类型与生产构建通过。 基于已合入PR45/46/47的最新dev,独立修复阶段;没有页面交互修改或新增浏览器验收结论。
Kronecker added 1 commit 2026-10-17 12:18:06 +08:00
saint merged commit fb51081750 into dev 2026-10-17 14:29:12 +08:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: saint/border-red-post-nalati#48