from pydantic_settings import BaseSettings, SettingsConfigDict from pathlib import Path class Settings(BaseSettings): model_config = SettingsConfigDict( env_file=".env", extra="ignore", env_file_encoding="utf-8" ) # --- Application Configuration --- APP_NAME: str = "Makhfi AI" APP_VERSION: str = "0.1.0" # --- Graph DB Configuration --- NEO4J_URI: str NEO4J_USER: str NEO4J_PASSWORD: str # --- Models Configuration --- OPENAI_API_KEY: str GOOGLE_API_KEY: str DEFAULT_MODEL: str = "gemini-2.5-flash" EMBEDDINGS_MODEL: str = "text-embedding-004" KNOWLEDGE_GRAPH_BUILDER: str = "gemini-2.0-flash" settings = Settings() ROOT_DIR = Path(__file__).parent.parent INGESTION_DIR = ROOT_DIR / "ingestion" DOCUMENTS_DIR = INGESTION_DIR / "data" METADATA_FILE = INGESTION_DIR / "metadata.csv"