2025-02-07 21:08:40 -05:00
|
|
|
from typing import Dict, Any, Optional, List
|
2024-11-22 18:56:22 -05:00
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
|
|
|
2024-12-26 08:52:25 -05:00
|
|
|
class RetrieveRequest(BaseModel):
|
|
|
|
"""Base retrieve request model"""
|
2024-12-26 11:34:24 -05:00
|
|
|
|
2024-11-28 19:09:40 -05:00
|
|
|
query: str = Field(..., min_length=1)
|
2024-11-22 18:56:22 -05:00
|
|
|
filters: Optional[Dict[str, Any]] = None
|
2024-11-28 19:09:40 -05:00
|
|
|
k: int = Field(default=4, gt=0)
|
|
|
|
min_score: float = Field(default=0.0)
|
2025-01-02 03:42:47 -05:00
|
|
|
use_reranking: Optional[bool] = None # If None, use default from config
|
2025-02-26 20:17:12 -05:00
|
|
|
use_colpali: Optional[bool] = None
|
2024-12-26 08:52:25 -05:00
|
|
|
|
|
|
|
|
|
|
|
class CompletionQueryRequest(RetrieveRequest):
|
|
|
|
"""Request model for completion generation"""
|
2024-12-26 11:34:24 -05:00
|
|
|
|
2024-12-26 08:52:25 -05:00
|
|
|
max_tokens: Optional[int] = None
|
|
|
|
temperature: Optional[float] = None
|
2025-02-07 21:08:40 -05:00
|
|
|
|
|
|
|
|
|
|
|
class IngestTextRequest(BaseModel):
|
|
|
|
"""Request model for ingesting text content"""
|
|
|
|
|
|
|
|
content: str
|
2025-03-05 09:56:02 -06:00
|
|
|
filename: Optional[str] = None
|
2025-02-07 21:08:40 -05:00
|
|
|
metadata: Dict[str, Any] = Field(default_factory=dict)
|
|
|
|
rules: List[Dict[str, Any]] = Field(default_factory=list)
|
2025-02-26 20:17:12 -05:00
|
|
|
use_colpali: Optional[bool] = None
|