import uuid from typing import List, Optional from pydantic import BaseModel class UploadKBResponse(BaseModel): kb_id: uuid.UUID name: str chunks_stored: int class UploadKBRequest(BaseModel): name: str description: Optional[str] = None class TokenizeRequest(BaseModel): text: str class TokenizeResponse(BaseModel): input_ids: List[int] attention_mask: List[int] class SemanticSearchRequest(BaseModel): embedding: List[float] top_k: Optional[int] = 3 class SemanticSearchResult(BaseModel): chunk_id: str kb_id: str text: str image_url: str | None = None score: float class ManualTextRequest(BaseModel): kb_id: uuid.UUID text: str