1.6 KiB
1.6 KiB
规则字段抽取Skill 设计
1. Skill 定位
规则字段抽取Skill 负责从标题、段落和固定标签中抽取字段候选值,适合处理格式稳定、标签明确的注册申报字段。
英文实现标识建议使用 RuleFieldExtractSkill。
2. 输入
@dataclass
class RuleFieldExtractInput:
documents: list[DocumentContent]
field_definitions: list[FieldDefinition]
3. 输出
@dataclass
class RuleFieldExtractOutput:
candidates: list[FieldCandidate]
failed_fields: list[dict]
tool_calls: list[dict]
4. 抽取方式
- 标题后取值。
- 标签后取值。
- 固定段落规则。
- 正则匹配。
5. 核心方法
5.1 run(input) -> RuleFieldExtractOutput
主入口方法。
5.2 extract_by_heading(document, field_definition) -> FieldCandidate | None
从标题结构中抽取。
5.3 extract_by_label(document, field_definition) -> FieldCandidate | None
从标签字段中抽取。
5.4 extract_by_regex(document, field_definition) -> FieldCandidate | None
使用字段配置中的正则规则抽取。
5.5 build_candidate(field, value, source) -> FieldCandidate
构建字段候选。
6. 技术实现
使用技术:
re- 文本结构解析结果
- 中文标点标准化
7. 异常处理
- 文本为空:跳过该文档。
- 多个候选:全部保留。
- 正则异常:记录工具失败。
- 候选值过长:标记待复核。
8. 测试要点
- 能从标题抽取产品名称。
- 能从标签抽取储存条件。
- 多候选值全部保留。
- 空文本不报错。