test2 / config.py
Rajhuggingface4253's picture
Update config.py
40f0cd4 verified
from functools import lru_cache
from typing import List
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
"""Application settings optimized for CPU deployment."""
# Application metadata
app_name: str = "Vision"
app_version: str = "1.0.0"
# Model settings - Using official ONNX model with Q4 for speed
model_id: str = "LiquidAI/LFM2.5-VL-1.6B-ONNX"
encoder_variant: str = "q4"
decoder_variant: str = "q4"
# Server settings (same as lfm-text for consistency)
host: str = "0.0.0.0"
port: int = 7860
# CORS settings
cors_origins: List[str] = ["*"]
# Vision processing settings
min_image_tokens: int = 64
max_image_tokens: int = 256
do_image_splitting: bool = True
# Supported image formats
supported_formats: List[str] = ["jpeg", "jpg", "png", "gif", "webp", "bmp"]
max_image_size_mb: int = 10
# Generation defaults (from LiquidAI recommendations)
temperature: float = 0.1
top_k: int = 50
top_p: float = 0.5
min_p: float = 0.15
max_tokens: int = 2024
repetition_penalty: float = 1.05
# CPU optimization
num_threads: int = 2 # Optimized for 2 vCPU
# Logging
log_level: str = "info"
class Config:
env_prefix = "LFMVL_"
@lru_cache()
def get_settings() -> Settings:
"""Get cached settings."""
return Settings()
settings = get_settings()