Files
jze9 2a14350ee3
Some checks failed
Deploy / deploy (push) Has been cancelled
test build
2026-05-18 01:14:40 +05:00

55 lines
1.3 KiB
Python

from pydantic import BaseModel, Field
from typing import Optional, List
from datetime import datetime
class HealthResponse(BaseModel):
status: str
version: str
class CheckResponse(BaseModel):
task_id: str
status: str
message: str
class MatchResult(BaseModel):
method: str = Field(..., description="exact | fuzzy | semantic")
similarity: float = Field(..., ge=0, le=100)
source_title: Optional[str] = None
source_db: Optional[str] = None
url: Optional[str] = None
source_id: Optional[str] = None
fragment_text: Optional[str] = None
fragment_start: Optional[int] = None
fragment_end: Optional[int] = None
class ReportResponse(BaseModel):
task_id: str
status: str
overall_similarity: Optional[float] = None
matches: Optional[List[MatchResult]] = None
source_text: Optional[str] = None
created_at: Optional[datetime] = None
completed_at: Optional[datetime] = None
class ReportSummary(BaseModel):
task_id: str
status: str
overall_similarity: Optional[float] = None
created_at: Optional[datetime] = None
class ReportsListResponse(BaseModel):
tasks: List[ReportSummary]
class StatsResponse(BaseModel):
total_documents_indexed: int
faiss_index_size: int
elasticsearch_available: bool
api_version: str