Files
DEMO-AGENT/docs/详细设计/skill/规则字段抽取Skill.md

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. 抽取方式

  1. 标题后取值。
  2. 标签后取值。
  3. 固定段落规则。
  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. 技术实现

使用技术:

  1. re
  2. 文本结构解析结果
  3. 中文标点标准化

7. 异常处理

  1. 文本为空:跳过该文档。
  2. 多个候选:全部保留。
  3. 正则异常:记录工具失败。
  4. 候选值过长:标记待复核。

8. 测试要点

  1. 能从标题抽取产品名称。
  2. 能从标签抽取储存条件。
  3. 多候选值全部保留。
  4. 空文本不报错。