F002 平台助手 (NestJS + Next.js + Prisma + SQLite)
Go to file
Sisyphus 1a92a3c095 fix(categories): 硬化 AI 分类输出过滤,防止下拉框再次被 AI 推理文本污染
【问题】
AdminPage / InquiryPage 品类下拉框显示 414 条 AI 推理文本 (例: '**合金铝线采购** - 这是**电线电缆**的一种'),
源头: CategoryInferenceService 把 MiniMax (M2.7) 响应的整段 markdown/think 文本写到了 ProductCategory.name。

【根因】
原代码对 MiniMax 返回值没有任何后处理,直接信任模型输出。
-prompt 只说'只输出品类名', M2.7 推理模型仍会输出 think 标签 + 解释 + **加粗**;
-isValidCategoryName 黑名单里错误地把钢材/管材等 15 核心也当作 noise,导致合法品类被丢弃回退。

【修复】
1. src/product-category/category-inference.service.ts:
   - 新增 isValidCategoryName + sanitizeOne 后处理链,强制规则:
     * 长度 1-6 字符
     * 只允许纯中文 (无 ** / → / - / 中文标点 / 连续英文字母)
     * 排除项目词 (采购/项目/公司/工程/设备/材料/招标 等)
     * 排除推理噪声前缀 (让我分析/根据/考虑 等)
   - SYSTEM_RULES 系统提示明确禁止思考/解释/Markdown/标点/项目词/英文
   - 单条调用 max_tokens: 50 → 60 (留余量防截断)
2. scripts/restore_categories.js: 恢复 27 品类(15核心+12扩展),upsert 幂等,关键词来自 scripts/expand_keywords.js
3. scripts/sanitize_smoke.js: 11 case 回归测试,验证 sanitizeOne 拒绝所有已知污染样本

【生产验证】
/api/categories 返回 53 个品类,最长 6 字符,无 ** / → / - 。PM2 已重启加载新版。
2026-07-01 12:12:19 +08:00
apps fix(categories): 硬化 AI 分类输出过滤,防止下拉框再次被 AI 推理文本污染 2026-07-01 12:12:19 +08:00
docs docs: 更新 AGENTS.md、gitignore(排除上传文件)、开发文档 2026-06-26 16:25:24 +08:00
packages/shared feat(F002): W26 + W29.x + W30 + W31 平台助手全部改动首次 commit 2026-06-24 11:07:11 +08:00
scripts fix(categories): 硬化 AI 分类输出过滤,防止下拉框再次被 AI 推理文本污染 2026-07-01 12:12:19 +08:00
.gitignore docs: 更新 AGENTS.md、gitignore(排除上传文件)、开发文档 2026-06-26 16:25:24 +08:00
.prettierrc feat(F002): W26 + W29.x + W30 + W31 平台助手全部改动首次 commit 2026-06-24 11:07:11 +08:00
AGENTS.md docs: 记录品类方案 C + DeepSeek→MiniMax 迁移 + 停止 AI 回填决策 2026-07-01 11:45:36 +08:00
docker-compose.yml feat(F002): W26 + W29.x + W30 + W31 平台助手全部改动首次 commit 2026-06-24 11:07:11 +08:00
image_001.jpg feat(F002): W26 + W29.x + W30 + W31 平台助手全部改动首次 commit 2026-06-24 11:07:11 +08:00
package-lock.json feat(F002-P1): Lead 加 notes 字段 + crawler 提取 PDF 6 条要点 (老 GUI 同款) 2026-06-24 11:52:59 +08:00
package.json feat(F002): W26 + W29.x + W30 + W31 平台助手全部改动首次 commit 2026-06-24 11:07:11 +08:00
线索管理操作白皮书.html feat(F002): W26 + W29.x + W30 + W31 平台助手全部改动首次 commit 2026-06-24 11:07:11 +08:00