morphik-core/core/models/request.py

31 lines
918 B
Python
Raw Normal View History

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-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
use_colpali: Optional[bool] = None
2024-12-26 08:52:25 -05:00
class CompletionQueryRequest(RetrieveRequest):
"""Request model for completion generation"""
2024-12-26 08:52:25 -05:00
max_tokens: Optional[int] = None
temperature: Optional[float] = None
class IngestTextRequest(BaseModel):
"""Request model for ingesting text content"""
content: str
filename: Optional[str] = None
metadata: Dict[str, Any] = Field(default_factory=dict)
rules: List[Dict[str, Any]] = Field(default_factory=list)
use_colpali: Optional[bool] = None