api_models.py 649 Bytes
"""Pydantic request bodies for the evaluation FastAPI app."""

from __future__ import annotations

from typing import List, Optional

from pydantic import BaseModel, Field


class SearchEvalRequest(BaseModel):
    query: str
    dataset_id: Optional[str] = None
    top_k: int = Field(default=100, ge=1, le=500)
    auto_annotate: bool = False
    language: Optional[str] = None


class BatchEvalRequest(BaseModel):
    dataset_id: Optional[str] = None
    queries: Optional[List[str]] = None
    top_k: int = Field(default=100, ge=1, le=500)
    auto_annotate: bool = False
    language: Optional[str] = None
    force_refresh_labels: bool = False