39 lines
922 B
Python
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
|