from pydantic_settings import BaseSettings from functools import lru_cache class Settings(BaseSettings): # Ollama ollama_base_url: str = "http://localhost:11434" ollama_model: str = "llama3.1" # Qdrant qdrant_host: str = "localhost" qdrant_port: int = 6333 qdrant_collection_name: str = "documents" # Embeddings embedding_model: str = "sentence-transformers/all-MiniLM-L6-v2" embedding_dimension: int = 384 # App app_host: str = "0.0.0.0" app_port: int = 8000 class Config: env_file = ".env" @lru_cache() def get_settings() -> Settings: return Settings()