smart tdee
This commit is contained in:
@@ -1,8 +1,19 @@
|
||||
from functools import lru_cache
|
||||
from pathlib import Path
|
||||
|
||||
from pydantic import field_validator
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
DEPRECATED_VISION_MODELS: dict[str, str] = {
|
||||
"google/gemini-2.0-flash-lite-001": "google/gemini-2.5-flash-lite",
|
||||
"google/gemini-2.0-flash-lite": "google/gemini-2.5-flash-lite",
|
||||
}
|
||||
|
||||
|
||||
def resolve_vision_model(model: str) -> str:
|
||||
stripped = model.strip()
|
||||
return DEPRECATED_VISION_MODELS.get(stripped, stripped)
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
model_config = SettingsConfigDict(
|
||||
@@ -23,6 +34,17 @@ class Settings(BaseSettings):
|
||||
openrouter_tools_enabled: bool = True
|
||||
# DeepSeek V4 / reasoning: none | low | medium | high | xhigh. none = без thinking.
|
||||
openrouter_reasoning_effort: str = "none"
|
||||
openrouter_vision_model: str = "google/gemini-2.5-flash-lite"
|
||||
vision_max_edge_px: int = 1280
|
||||
vision_jpeg_quality: int = 85
|
||||
vision_debug_enabled: bool = True
|
||||
vision_max_images: int = 8
|
||||
uploads_dir: str = "./data/uploads"
|
||||
|
||||
@field_validator("openrouter_vision_model")
|
||||
@classmethod
|
||||
def migrate_vision_model(cls, value: str) -> str:
|
||||
return resolve_vision_model(value)
|
||||
|
||||
database_url: str = "sqlite:///./data/assistant.db"
|
||||
cors_origins: str = "http://localhost:5173,http://localhost:8080,http://localhost:3000"
|
||||
@@ -63,6 +85,7 @@ class Settings(BaseSettings):
|
||||
weather_lon: float = 30.3351
|
||||
weather_location_name: str = "Санкт-Петербург"
|
||||
weather_cache_sec: int = 300
|
||||
weather_forecast_days: int = 7
|
||||
openmeteo_fallback_url: str = "https://api.open-meteo.com"
|
||||
openmeteo_fallback_on_partial: bool = True
|
||||
|
||||
|
||||
Reference in New Issue
Block a user