101 lines
2.3 KiB
Markdown
101 lines
2.3 KiB
Markdown
# 法规证据检索Skill 设计
|
|
|
|
## 1. Skill 定位
|
|
|
|
`法规证据检索Skill` 负责为完整性检查结果补充法规原文证据,用于解释、页面展示和审计留痕。
|
|
|
|
英文实现标识建议使用 `RegulationEvidenceRetrieveSkill`。
|
|
|
|
本 Skill 不改变完整性判定结论。规则链路已经判定的缺失、错放和风险等级不能被 RAG 检索结果反向覆盖。
|
|
|
|
## 2. 输入
|
|
|
|
```python
|
|
@dataclass
|
|
class RegulationEvidenceRetrieveInput:
|
|
requirement_results: list[CompletenessItemResult]
|
|
rule_package_id: str
|
|
workflow_type: str
|
|
max_results_per_item: int = 3
|
|
```
|
|
|
|
## 3. 输出
|
|
|
|
```python
|
|
@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_id` 或 `chapter_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. 非法规资料被过滤。
|
|
|