legco_ai_assistant/backend/app/models/documents.py

39 lines
922 B
Python

from typing import List, Optional
from pydantic import BaseModel
class DocumentInfo(BaseModel):
document_id: str
filename: str
chunk_count: int
upload_date: str
chunking_strategy: str = "token"
class ChunkInfo(BaseModel):
chunk_id: str
chunk_index: int
content_summary: str
page_number: Optional[int] = None
chunk_file_path: Optional[str] = None
strategy_type: Optional[str] = None
question_index: Optional[int] = None
question_id: Optional[str] = None
question_text: Optional[str] = None
section_heading: Optional[str] = None
answer_contains_table: Optional[bool] = None
source_page_range: Optional[List[int]] = None
parent_topic: Optional[str] = None
class DocumentListResponse(BaseModel):
documents: List[DocumentInfo]
total_documents: int
total_chunks: int
class DeleteResponse(BaseModel):
deleted: bool
message: str