m97j's picture
fix(search): add missing return statement in search service
9496080
# api/schemas/search.py
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field
# ---------------------------
# Request
# ---------------------------
class SearchRequest(BaseModel):
query: str = Field(..., description="Search query")
top_k: int = Field(default=5, ge=1, le=50)
# optional
use_reranking: Optional[bool] = True
include_llm_context: Optional[bool] = True
# ---------------------------
# Document metadata
# ---------------------------
class DocumentMetadata(BaseModel):
doc_id: int
title: str
lang: str
url: Optional[str] = None
date_modified: Optional[str] = None
# ---------------------------
# Result item (LLM-friendly)
# ---------------------------
class SearchResultItem(BaseModel):
chunk_id: int
text: str
score: float = Field(..., description="Reranking score (0.0 to 1.0)")
metadata: DocumentMetadata
scoring_details: Optional[Dict[str, Any]] = None # optional
# ---------------------------
# Response
# ---------------------------
class SearchResponse(BaseModel):
query: str
results: List[SearchResultItem]
latency_ms: int