from dotenv import load_dotenv from pydantic_settings import BaseSettings from typing import Optional import logging load_dotenv() class Settings(BaseSettings): OLLAMA_HOST: str = "http://localhost:11434" OLLAMA_MODEL: str = "gemma2:9b" OLLAMA_EMBED_MODEL: str = "nomic-embed-text" LLM_PROVIDER: str = "ollama" LLM_API_KEY: Optional[str] = None LLM_MODEL: Optional[str] = None LLM_BASE_URL: Optional[str] = None QDRANT_PATH: str = "./data/qdrant" QDRANT_COLLECTION: str = "documents" TESSERACT_LANG: str = "ita+eng" CHUNK_SIZE: int = 512 CHUNK_OVERLAP: int = 50 UPLOAD_DIR: str = "./data/uploads" MAX_FILE_SIZE_MB: int = 50 LOG_LEVEL: str = "DEBUG" @property def log_level_int(self) -> int: return getattr(logging, self.LOG_LEVEL.upper(), logging.DEBUG) class Config: env_file = ".env" env_file_encoding = "utf-8" settings = Settings()