from pathlib import Path from pydantic_settings import BaseSettings, SettingsConfigDict from dotenv import load_dotenv from datetime import timedelta import warnings import os load_dotenv() MODEL_NAME=os.getenv("MODEL_NAME", "gpt-3.5-turbo") OPENAI_API_KEY=os.getenv("OPENAI_API_KEY", "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") OLLAMA_URL=os.getenv("OLLAMA_URL", "http://host.docker.internal:11434") OLLAMA_LOCAL_URL=os.getenv("OLLAMA_LOCAL_URL", "http://localhost:11434") OLLAMA_MODEL_NAME=os.getenv("OLLAMA_MODEL_NAME", "qwen3-0.6B:latest") OLLAMA_EMB_MODEL_NAME=os.getenv("OLLAMA_EMB_MODEL_NAME", "qwen3-0.6B-emb:latest") LANGFUSE_HOST=os.getenv("LANGFUSE_HOST", "http://45.77.119.180") LANGFUSE_PUBLIC_KEY=os.getenv("LANGFUSE_PUBLIC_KEY", "pk-lf-0e6db694-3e95-4dd4-aedf-5a2694267058") LANGFUSE_SECRET_KEY=os.getenv("LANGFUSE_SECRET_KEY", "sk-lf-dbf28bb9-15bb-4d03-a8c3-05caa3e3905f") ELASTICSEARCH_URL=os.getenv("ELASTICSEARCH_URL", "http://host.docker.internal:9200") ELASTICSEARCH_LOCAL_URL=os.getenv("ELASTICSEARCH_LOCAL_URL", "http://localhost:9200") ELASTICSEARCH_INDEX=os.getenv("ELASTICSEARCH_INDEX", "avap-docs-test") DATABASE_URL=os.getenv("DATABASE_URL", "postgresql://postgres:brunix_pass@host.docker.internal:5432/postgres") KUBECONFIG_PATH=os.getenv("KUBECONFIG_PATH", "kubernetes/kubeconfig.yaml") HF_TOKEN=os.getenv("HF_TOKEN", "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") HF_EMB_MODEL_NAME=os.getenv("HF_EMB_MODEL_NAME", "Qwen/Qwen3-Embedding-0.6B") MRH_AVAP_DATA_PATH_=os.getenv("MRH_AVAP_DATA_PATH_", "/home/pseco/VsCodeProjects/assistance-engine/data/") MRH_AVAP_MODELS_PATH_=os.getenv("MRH_AVAP_MODELS_PATH_", "/home/pseco/VsCodeProjects/assistance-engine/data/models") MRH_AVAP_RAW_PATH_=os.getenv("MRH_AVAP_RAW_PATH_", "/home/pseco/VsCodeProjects/assistance-engine/data/raw") MRH_AVAP_PROCESSED_PATH_=os.getenv("MRH_AVAP_PROCESSED_PATH_", "/home/pseco/VsCodeProjects/assistance-engine/data/processed") MRH_AVAP_INTERIM_PATH_=os.getenv("MRH_AVAP_INTERIM_PATH_", "/home/pseco/VsCodeProjects/assistance-engine/data/interim") MRH_AVAP_EXTERNAL_PATH_=os.getenv("MRH_AVAP_EXTERNAL_PATH_", "/home/pseco/VsCodeProjects/assistance-engine/data/external") class Settings(BaseSettings): raw_path_: str processed_path_: str models_path_:str interim_path_:str external_path_:str model_config = SettingsConfigDict( env_prefix="mrh_avap_", env_file=".env", env_file_encoding="utf-8", case_sensitive=False, extra="ignore", ) @property def raw_path(self) -> Path: return Path(self.raw_path_) @property def processed_path(self) -> Path: return Path(self.processed_path_) @property def proj_root(self) -> Path: return Path(__file__).resolve().parents[1] @property def interim_path(self) -> Path: return Path(self.interim_path_) @property def external_path(self) -> Path: return Path(self.external_path_) @property def models_path(self) -> Path: return Path(self.models_path_) settings = Settings()