Files
DEMO-AGENT/docs/详细设计/skill/法规证据检索Skill.md

2.3 KiB

法规证据检索Skill 设计

1. Skill 定位

法规证据检索Skill 负责为完整性检查结果补充法规原文证据,用于解释、页面展示和审计留痕。

英文实现标识建议使用 RegulationEvidenceRetrieveSkill

本 Skill 不改变完整性判定结论。规则链路已经判定的缺失、错放和风险等级不能被 RAG 检索结果反向覆盖。

2. 输入

@dataclass
class RegulationEvidenceRetrieveInput:
    requirement_results: list[CompletenessItemResult]
    rule_package_id: str
    workflow_type: str
    max_results_per_item: int = 3

3. 输出

@dataclass
class RegulationEvidenceRetrieveOutput:
    evidence_refs: list[EvidenceRef]
    unavailable_items: list[dict]
    warnings: list[dict]

EvidenceRef 字段:

  1. requirement_id
  2. source_document
  3. source_type
  4. chapter_code
  5. section_title
  6. snippet
  7. page_no
  8. retrieval_score
  9. metadata

4. 检索范围

只检索法规资料,不检索业务申报资料。

metadata 过滤:

  1. source_role = regulation
  2. workflow_type = registration
  3. rule_package_id = nmpa_ivd_registration_v1
  4. requirement_idchapter_code

5. 核心方法

5.1 run(input) -> RegulationEvidenceRetrieveOutput

主入口方法。

5.2 build_evidence_query(item_result) -> str

根据要求项名称、章节点和规则配置生成检索 query。

5.3 retrieve_from_vector_store(query, metadata_filter) -> list[EvidenceRef]

优先使用 Chroma。

5.4 retrieve_from_fallback_index(query, metadata_filter) -> list[EvidenceRef]

当 Chroma 不可用时,使用本地切片或关键词 fallback。

5.5 normalize_evidence_results(results) -> list[EvidenceRef]

统一证据格式。

6. 技术实现

使用技术:

  1. Chroma
  2. 本地 fallback 检索
  3. 文本切片 metadata
  4. Python 关键词匹配

7. 异常处理

  1. 向量库不可用:降级 fallback。
  2. fallback 也不可用:返回证据不可用警告。
  3. 找不到证据:不阻断完整性报告。
  4. 命中业务资料:过滤掉,避免把申报资料当法规依据。

8. 测试要点

  1. 能根据要求项生成查询。
  2. Chroma 可用时返回证据。
  3. Chroma 不可用时 fallback 生效。
  4. 证据检索失败不改变缺失结论。
  5. 非法规资料被过滤。