feat(application-form-fill): 新增模板配置骨架
This commit is contained in:
58
review_agent/application_form_fill/schemas.py
Normal file
58
review_agent/application_form_fill/schemas.py
Normal file
@@ -0,0 +1,58 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Any
|
||||
|
||||
from review_agent.models import ApplicationFormFillBatch, ExportedSummaryFile, FileSummaryBatch, RegulatoryReviewBatch
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class TemplateSpec:
|
||||
code: str
|
||||
name: str
|
||||
source_file: str
|
||||
output_label: str
|
||||
applies_when: dict[str, Any]
|
||||
file_format: str
|
||||
fields: list[dict[str, Any]]
|
||||
checklist_items: list[dict[str, Any]] = field(default_factory=list)
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class ExtractedField:
|
||||
key: str
|
||||
label: str
|
||||
value: str
|
||||
source_file: str
|
||||
source_role: str
|
||||
evidence: str
|
||||
extractor: str
|
||||
confidence: float
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class MergedField:
|
||||
key: str
|
||||
label: str
|
||||
value: str
|
||||
source_file: str
|
||||
evidence: str
|
||||
confidence: float
|
||||
has_conflict: bool = False
|
||||
conflict_values: list[dict[str, Any]] = field(default_factory=list)
|
||||
|
||||
|
||||
@dataclass
|
||||
class FormFillContext:
|
||||
batch: ApplicationFormFillBatch
|
||||
source_summary_batch: FileSummaryBatch
|
||||
source_regulatory_batch: RegulatoryReviewBatch | None
|
||||
template_config: dict[str, Any] = field(default_factory=dict)
|
||||
selected_templates: list[TemplateSpec] = field(default_factory=list)
|
||||
document_texts: dict[str, str] = field(default_factory=dict)
|
||||
regex_results: dict[str, Any] = field(default_factory=dict)
|
||||
llm_results: dict[str, Any] = field(default_factory=dict)
|
||||
merged_fields: dict[str, MergedField] = field(default_factory=dict)
|
||||
checklist_items: dict[str, Any] = field(default_factory=dict)
|
||||
conflicts: list[dict[str, Any]] = field(default_factory=list)
|
||||
exports: list[ExportedSummaryFile] = field(default_factory=list)
|
||||
Reference in New Issue
Block a user