CoolFace
Apppublic

mrme77/dfars-assistant

sourceHugging Faceupdated 1mo agoView on Hugging Face
0likes
models.py39 linesDownload Raw Back to src
1"""Shared data models for DFARS context records."""2 3from pydantic import BaseModel, Field4 5 6class PageText(BaseModel):7    """Text extracted from a single PDF page."""8 9    page_number: int = Field(ge=1)10    text: str11 12 13class SectionRecord(BaseModel):14    """Structured DFARS section with source text and retrieval metadata."""15 16    section_id: str17    title: str18    part: str | None = None19    subpart: str | None = None20    page_start: int = Field(ge=1)21    page_end: int = Field(ge=1)22    original_text: str23    summary: str = ""24    key_topics: list[str] = Field(default_factory=list)25    applies_when: list[str] = Field(default_factory=list)26    required_actions: list[str] = Field(default_factory=list)27    obligations: list[str] = Field(default_factory=list)28    exceptions: list[str] = Field(default_factory=list)29    cross_references: list[str] = Field(default_factory=list)30    contracting_officer_notes: list[str] = Field(default_factory=list)31 32 33class RetrievedSection(BaseModel):34    """Retrieved section plus score used for context selection."""35 36    section: SectionRecord37    score: float38    retrieval_method: str39