43 lines
978 B
Python
43 lines
978 B
Python
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()
|