from pydantic import BaseModel class SourceOffset(BaseModel): start: int end: int class TripleItem(BaseModel): subject: str predicate: str object: str source_snippet: str source_offset: SourceOffset class TextExtractRequest(BaseModel): file_path: str file_name: str model: str | None = None prompt_template: str | None = None class TextExtractResponse(BaseModel): items: list[TripleItem]