Initial commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
from typing import List, Optional, Dict, Any
|
||||
from pydantic import BaseModel, Field
|
||||
from ..models.document import EntityType, AccessLevel
|
||||
|
||||
|
||||
class SearchRequest(BaseModel):
|
||||
"""Search request schema."""
|
||||
query: str = Field(..., description="Search query string", min_length=1)
|
||||
limit: int = Field(10, ge=1, le=100, description="Maximum number of results")
|
||||
entity_types: Optional[List[EntityType]] = Field(None, description="Filter by entity types")
|
||||
similarity_threshold: Optional[float] = Field(None, ge=0.0, le=1.0, description="Minimum similarity score")
|
||||
|
||||
|
||||
class DocumentUploadResponse(BaseModel):
|
||||
"""Document upload response schema."""
|
||||
document_id: str
|
||||
filename: str
|
||||
status: str
|
||||
entities_found: int
|
||||
access_level: str
|
||||
message: str
|
||||
|
||||
|
||||
class StatsResponse(BaseModel):
|
||||
"""System statistics response schema."""
|
||||
total_documents: int
|
||||
document_types: Dict[str, int]
|
||||
access_levels: Dict[str, int]
|
||||
languages: Dict[str, int]
|
||||
total_entities: int
|
||||
average_entities_per_doc: float
|
||||
vector_store_stats: Dict[str, Any]
|
||||
system_status: str
|
||||
|
||||
|
||||
class ErrorResponse(BaseModel):
|
||||
"""Error response schema."""
|
||||
error: str
|
||||
detail: str
|
||||
timestamp: float
|
||||
Reference in New Issue
Block a user