import os from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): # App Settings APP_HOST: str = "0.0.0.0" APP_PORT: int = 8000 # Qdrant Settings QDRANT_HOST: str = "localhost" QDRANT_PORT: int = 6333 QDRANT_ENDPOINT: str | None = None QDRANT_API_KEY: str | None = None QDRANT_DOCKER_IMAGE: str = "qdrant/qdrant" QDRANT_CONTAINER_NAME: str = "fastapi_qdrant_instance" QDRANT_COLLECTION_NAME: str = "constitution_amendments" # Neo4j Settings NEO4J_HOST: str = "localhost" NEO4J_HTTP_PORT: int = 7474 NEO4J_BOLT_PORT: int = 7687 NEO4J_URI: str | None = None NEO4J_USERNAME: str = "neo4j" NEO4J_PASSWORD: str = "password" NEO4J_DATABASE: str = "neo4j" NEO4J_CONTAINER_NAME: str = "constitution_neo4j" NEO4J_DOCKER_IMAGE: str = "neo4j:latest" AURA_INSTANCEID: str | None = None AURA_INSTANCENAME: str | None = None # Groq Settings GROQ_API_KEY: str | None = None GROQ_MODEL: str = "qwen/qwen3-32b" GROQ_FAST_MODEL: str = "llama-3.1-8b-instant" _env_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), ".env") model_config = SettingsConfigDict(env_file=_env_path, env_file_encoding="utf-8", extra="ignore") settings = Settings()