feat(rag): modularize knowledge retrieval pipeline

This commit is contained in:
zhuyongxin
2026-07-06 17:06:05 +08:00
parent a375daead7
commit cf3333d607
38 changed files with 2981 additions and 1033 deletions
@@ -37,3 +37,5 @@
- relevanceLevel=HIGHLY_RELEVANT + 域已在 retrievedDomainsThisSession → 禁止再次调用
- relevanceLevel=REFERENCE → 先指出缺什么维度,再定向补充一次
- completenessHint 是知识库给你的天花板信号,信任它
- lookup_knowledge 的事实证据以 evidenceBlocks 和 contextPack.packedText 为准,不要假设 L0 hint 本身就是事实证据
- retrievalTrace 只用于理解检索路径和降级原因,不能单独作为诊断事实
@@ -35,9 +35,9 @@
| `query` | 查询关键词或描述。例如:`ERR_TIMEOUT`、`payment-gateway`、`支付为什么失败` |
**内部机制**:
工具内部自动执行「先精确匹配(L0),未命中则语义检索(L1)」的两阶段检索逻辑,你无需关心哪一层。
工具内部会先做 query understanding,使用领域/关键词/实体 hint 控制向量检索;如果带 filter 的向量检索低质量,会用原始 query 再执行一次无过滤语义检索。
**返回结果**:包含 `found`(是否找到)、`primary.content`(文档内容)、`primary.match_type`(来源标记:`exact_L0` 或 `semantic_L1`)等字段。
**返回结果**:包含 `found`(是否找到)、`evidenceBlocks`(结构化证据)、`contextPack.packedText`(可直接引用的证据上下文)、`retrievalTrace`(检索路径)和 `rerankTrace`(重排解释)等字段。
**使用规则**:
- 当你查到了错误码、接口名、服务名时:**必须**调用此工具