docs(详细设计): 新增一致性核查设计
This commit is contained in:
66
docs/详细设计/skill/字段分组Skill.md
Normal file
66
docs/详细设计/skill/字段分组Skill.md
Normal file
@@ -0,0 +1,66 @@
|
||||
# 字段分组Skill 设计
|
||||
|
||||
## 1. Skill 定位
|
||||
|
||||
`字段分组Skill` 负责将统一字段池中的字段候选按字段编码和来源文档分组,形成可比对的数据单元。
|
||||
|
||||
英文实现标识建议使用 `FieldGroupSkill`。
|
||||
|
||||
## 2. 输入
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class FieldGroupInput:
|
||||
field_pool_items: list[FieldPoolItem]
|
||||
field_candidates: list[FieldCandidateRecord]
|
||||
scope_documents: list[DocumentFact]
|
||||
```
|
||||
|
||||
## 3. 输出
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class FieldGroupOutput:
|
||||
compare_units: list[FieldCompareUnit]
|
||||
single_source_fields: list[dict]
|
||||
excluded_candidates: list[dict]
|
||||
```
|
||||
|
||||
## 4. 核心方法
|
||||
|
||||
### 4.1 `run(input) -> FieldGroupOutput`
|
||||
|
||||
主入口方法。
|
||||
|
||||
### 4.2 `group_by_field_key(candidates) -> dict`
|
||||
|
||||
按字段编码分组。
|
||||
|
||||
### 4.3 `filter_candidates_by_scope(candidates, scope_documents) -> list`
|
||||
|
||||
只保留审核范围内来源文档的候选。
|
||||
|
||||
### 4.4 `build_compare_unit(field_key, candidates) -> FieldCompareUnit`
|
||||
|
||||
构建字段比对单元。
|
||||
|
||||
## 5. 技术实现
|
||||
|
||||
使用技术:
|
||||
|
||||
1. Python 分组
|
||||
2. 字段池候选记录
|
||||
3. 文档范围过滤
|
||||
|
||||
## 6. 异常处理
|
||||
|
||||
1. 字段无候选:进入待复核。
|
||||
2. 来源文档不在范围内:排除候选。
|
||||
3. 单来源字段:标记 `single_source`。
|
||||
|
||||
## 7. 测试要点
|
||||
|
||||
1. 候选按字段分组正确。
|
||||
2. 范围外候选被排除。
|
||||
3. 单来源字段识别正确。
|
||||
|
||||
Reference in New Issue
Block a user