Spaces:
Running
Running
from pydantic import BaseModel | |
from typing import Any, Dict, List, Optional, Union | |
from app.core.constants import DEFAULT_MODEL, DEFAULT_TEMPERATURE, DEFAULT_TOP_K, DEFAULT_TOP_P | |
class ChatRequest(BaseModel): | |
messages: List[dict] | |
model: str = DEFAULT_MODEL | |
temperature: Optional[float] = DEFAULT_TEMPERATURE | |
stream: Optional[bool] = False | |
max_tokens: Optional[int] = None | |
top_p: Optional[float] = DEFAULT_TOP_P | |
top_k: Optional[int] = DEFAULT_TOP_K | |
stop: Optional[Union[List[str],str]] = None | |
reasoning_effort: Optional[str] = None | |
tools: Optional[Union[List[Dict[str, Any]], Dict[str, Any]]] = [] | |
tool_choice: Optional[str] = None | |
response_format: Optional[dict] = None | |
class EmbeddingRequest(BaseModel): | |
input: Union[str, List[str]] | |
model: str = "text-embedding-004" | |
encoding_format: Optional[str] = "float" | |
class ImageGenerationRequest(BaseModel): | |
model: str = "imagen-3.0-generate-002" | |
prompt: str = "" | |
n: int = 1 | |
size: Optional[str] = "1024x1024" | |
quality: Optional[str] = None | |
style: Optional[str] = None | |
response_format: Optional[str] = "url" | |
class TTSRequest(BaseModel): | |
model: str = "gemini-2.5-flash-preview-tts" | |
input: str | |
voice: str = "Kore" | |
response_format: Optional[str] = "wav" | |