5f82ac510729745206305b33e31e261dc5018e61
评审意见 §1.3 要求的修法。背景(双方实测共同确认):同一批集合名在两个开发环境里是两套不同 schema: 我方:knowledge_id / snippet(无 visibility),行数 106/177/73 架构师:doc_id / content / chapter / section / doc_no / visibility,行数 125/297/214 上一轮我把字段名硬编码成我方那套,在架构师环境会让 Milvus 报 field doc_id not exist → 三集合全失败 → 客服一律转人工(反向亦然)。硬编码任一套都会打挂另一套。 改法(采纳评审建议): - 新增 app/core/knowledge_schema.py:describe_collection → 逻辑名到物理名映射,按集合缓存; 缺必需字段的集合明确判为不可用并如实记 degraded,不静默零召回 - 检索服务改为逐集合探测:output_fields 只请求实际存在的字段;visibility 过滤有该字段才拼 - KnowledgeHit 对外形状不变,检索逻辑(字面召回/父子块/去重/置信判定)一行未改 测试:新增 17 个探测单测;架构师的关键词召回测试参数化为两套 schema 各跑一遍。
Description
番茄炒蛋组
18 MiB
Languages
Python
99.9%