44 lines
795 B
Python
44 lines
795 B
Python
from pydantic import BaseModel
|
|
from typing import Optional
|
|
from datetime import datetime
|
|
|
|
|
|
class DocumentUploadResponse(BaseModel):
|
|
doc_id: str
|
|
filename: str
|
|
size: int
|
|
status: str = "uploaded"
|
|
|
|
|
|
class DocumentInfo(BaseModel):
|
|
id: str
|
|
name: str
|
|
chunks: int
|
|
status: str
|
|
created_at: Optional[datetime] = None
|
|
|
|
|
|
class DocumentListResponse(BaseModel):
|
|
docs: list[DocumentInfo]
|
|
|
|
|
|
class ChunkInfo(BaseModel):
|
|
chunk_id: str
|
|
doc_name: str
|
|
clause_id: Optional[str] = None
|
|
chapter: Optional[str] = None
|
|
content: str
|
|
token_count: int
|
|
chunk_index: int
|
|
|
|
|
|
class ParseResponse(BaseModel):
|
|
doc_id: str
|
|
chunks: int
|
|
status: str = "parsed"
|
|
|
|
|
|
class EmbedResponse(BaseModel):
|
|
doc_id: str
|
|
vectors: int
|
|
status: str = "embedded" |