from pathlib import Path import os from dotenv import load_dotenv # =============================== # LOAD ENVIRONMENT VARIABLES # =============================== BASE_DIR = Path(__file__).resolve().parents[2] DOTENV_PATH = BASE_DIR / ".env" DOTENV_LOCAL_PATH = BASE_DIR / "backend" / "ai" / ".env.local" if DOTENV_PATH.exists(): load_dotenv(DOTENV_PATH) if DOTENV_LOCAL_PATH.exists(): load_dotenv(DOTENV_LOCAL_PATH, override=True) # =============================== # GOOGLE API KEY # =============================== GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY", "") # =============================== # BACKEND PATHS # =============================== BACKEND_DIR = BASE_DIR / "backend" # =============================== # AI RUNTIME DATA (backend/ai/data) # =============================== AI_DIR = BACKEND_DIR / "ai" AI_DATA_DIR = AI_DIR / "data" AI_TEST_CUSTOMER_CSV = AI_DATA_DIR / "test_customer.csv" AI_PRODUCT_JSON = AI_DATA_DIR / "product_collection.json" AI_FINAL_VOICE_JSON = AI_DATA_DIR / "final_voice.transcript.json" # =============================== # PRECOMPUTE DATA (backend/precomputation/data) # =============================== PRECOMPUTE_DIR = BACKEND_DIR / "precomputation" PRECOMPUTE_DATA_DIR = PRECOMPUTE_DIR / "data" PRE_TEST_CUSTOMER_CSV = PRECOMPUTE_DATA_DIR / "test_customer.csv" PRE_PRODUCT_JSON = PRECOMPUTE_DATA_DIR / "product_collection.json" PRE_LAW_JSON = PRECOMPUTE_DATA_DIR / "law_collection.json" PRE_TELCO_CHURN_CSV = PRECOMPUTE_DATA_DIR / "telco_churn_cleaned.csv" # =============================== # HELPER FUNCTION: Kiểm tra file tồn tại # =============================== def validate_paths(): paths_to_check = [ AI_TEST_CUSTOMER_CSV, AI_PRODUCT_JSON, AI_FINAL_VOICE_JSON, PRE_TEST_CUSTOMER_CSV, PRE_PRODUCT_JSON, PRE_LAW_JSON, PRE_TELCO_CHURN_CSV, ] for p in paths_to_check: if not p.exists(): print(f"⚠️ [Warning] File không tồn tại: {p}") else: print(f"✅ [Found] {p}")