Source code for lalandre_core.models.chunks
"""Pydantic model for chunk records derived from subdivisions."""
from datetime import datetime
from typing import Any, Optional
from pydantic import BaseModel, ConfigDict, Field
[docs]
class Chunks(BaseModel):
"""Represent one persisted chunk of subdivision content."""
model_config = ConfigDict(from_attributes=True)
id: Optional[int] = Field(default=None, description="Primary key")
subdivision_id: int = Field(..., description="Foreign key to subdivisions")
chunk_index: int = Field(..., ge=0, description="Sequential index within subdivision")
content: str = Field(..., description="Chunk text content")
char_start: int = Field(..., ge=0, description="Start position in subdivision content")
char_end: int = Field(..., gt=0, description="End position in subdivision content")
token_count: Optional[int] = Field(default=None, ge=0, description="Estimated token count")
chunk_metadata: Optional[dict[str, Any]] = Field(default=None, description="Additional metadata (JSON)")
created_at: Optional[datetime] = Field(default=None, description="Creation timestamp")