File size: 812 Bytes
3b5d2e9 eefb354 3b5d2e9 eefb354 c72956b 3b5d2e9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
from pydantic import BaseModel, Field, validator
from typing import List, Dict, Any, Optional
class QueryRequest(BaseModel):
query: str = Field(..., min_length=1, max_length=1000, description="The query text to search for")
@validator('query')
def validate_query(cls, v):
if not v.strip():
raise ValueError('Query cannot be empty or contain only whitespace')
return v.strip()
class SourceDocument(BaseModel):
source: str
text: str
score: float
class QueryResponse(BaseModel):
answer: str
source_documents: List[Dict[str, Any]]
class ErrorResponse(BaseModel):
error: str
detail: str
status_code: int
timestamp: Optional[str] = None
class UploadResponse(BaseModel):
filename: str
message: str
num_chunks_stored: int
|