from pydantic_settings import BaseSettings from .constants import MAX_FILE_SIZE, MAX_TOTAL_SIZE, ALLOWED_TYPES import os class Settings(BaseSettings): HF_MODEL_NAME: str = "google/flan-t5-base" OLLAMA_BASE_URL: str = "http://localhost:11434" OLLAMA_MODEL_RESEARCH: str = "llama3.2:3b" OLLAMA_MODEL_VERIFICATION: str = "llama3.2:3b" OLLAMA_MODEL_RELEVANCE: str = "llama3.2:3b" # Embedding model (local) EMBEDDING_MODEL: str = "all-MiniLM-L6-v2" # sentence-transformers model # Optional settings with defaults MAX_FILE_SIZE: int = MAX_FILE_SIZE MAX_TOTAL_SIZE: int = MAX_TOTAL_SIZE ALLOWED_TYPES: list = ALLOWED_TYPES # Database settings CHROMA_DB_PATH: str = "./chroma_db" CHROMA_COLLECTION_NAME: str = "documents" # Retrieval settings VECTOR_SEARCH_K: int = 10 HYBRID_RETRIEVER_WEIGHTS: list = [0.4, 0.6] # Logging settings LOG_LEVEL: str = "INFO" # Cache settings CACHE_DIR: str = "document_cache" CACHE_EXPIRE_DAYS: int = 7 class Config: env_file = ".env" env_file_encoding = "utf-8" settings = Settings()