3.6 KiB
3.6 KiB
法规完整性检查Skill 设计
1. Skill 定位
法规完整性检查Skill 是第二步工作流的总编排 Skill,负责根据资料包目录汇总结果、法规流程类型和本地规则包,组织完整性检查链路并输出结构化完整性报告。
英文实现标识建议使用 RegulationCompletenessCheckSkill,用于 Python 类名和 Tool Registry 注册处理器。
本 Skill 不直接解析原始文件,不负责字段抽取,不负责综合风险报告。它消费第一步产生的文档事实。
2. 输入
@dataclass
class RegulationCompletenessCheckInput:
batch_id: int
scenario_id: str = "registration_completeness_check"
workflow_type: str = "registration"
rule_package_id: str = "nmpa_ivd_registration_v1"
chapter_scope: list[str] = field(default_factory=list)
selected_document_ids: list[int] = field(default_factory=list)
enable_rag_evidence: bool = True
3. 输出
@dataclass
class RegulationCompletenessCheckOutput:
report_type: str
batch_id: int
rule_package_id: str
rule_version: str
summary: dict
matched_items: list[dict]
missing_items: list[dict]
misplaced_items: list[dict]
manual_review_items: list[dict]
evidence_refs: list[dict]
audit_id: int | None = None
4. 依赖 Skill
法规流程识别Skill法规规则包加载Skill资料要求匹配Skill缺失错放判定Skill法规证据检索Skill完整性报告生成Skill
5. 核心方法
5.1 run(input) -> RegulationCompletenessCheckOutput
主入口方法。
执行顺序:
- 读取资料包目录汇总。
- 调用
法规流程识别Skill。 - 调用
法规规则包加载Skill。 - 按章节范围展开法规要求项。
- 调用
资料要求匹配Skill。 - 调用
缺失错放判定Skill。 - 按需调用
法规证据检索Skill。 - 调用
完整性报告生成Skill。 - 写入审计记录。
- 返回完整性报告。
5.2 load_execution_context(input) -> CompletenessExecutionContext
加载执行上下文。
包含:
- 批次信息。
- 目录汇总报告。
- 选中文档范围。
- 场景配置。
- 用户输入参数。
5.3 select_document_facts(context) -> list[DocumentFact]
从目录汇总中筛选参与完整性检查的文档。
如果 selected_document_ids 为空,则使用当前批次所有业务申报资料。
5.4 build_requirement_scope(rule_package, chapter_scope) -> list[RequirementItem]
根据章节点范围展开法规要求项。
V1 默认:
- 有
chapter_scope时按范围执行。 - 无
chapter_scope时优先执行CH1。 - 后续支持全六章。
6. 技术实现
使用技术:
- Python dataclass 或 Pydantic
- Tool Registry
- Django 服务层调用
- JSONField 报告快照
- Audit 服务
建议注册名:
tool_registry.register(
name="regulation_completeness_check",
handler=RegulationCompletenessCheckSkill().run,
)
7. 异常处理
| 异常 | 处理 |
|---|---|
| 批次不存在 | 返回业务错误并写失败审计 |
| 目录汇总不存在 | 提示先执行资料包导入与目录汇总 |
| 规则包不存在 | 返回任务不可执行 |
| 流程不支持 | 返回流程配置错误 |
| RAG 不可用 | 保留规则判断,证据标记不可用 |
| 所选文档为空 | 返回空范围报告 |
8. 测试要点
- 能基于目录汇总生成完整性报告。
- 能调用依赖 Skill 并合并结果。
- 规则包缺失时写入失败审计。
- RAG 失败不阻断主链路。
- 输出 schema 稳定。