File size: 1,897 Bytes
8eaa451 f3d50d7 8eaa451 ae6f621 dce8f48 d82aa2c dce8f48 8eaa451 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | """
DeepMed-AI — core/config.py
Environment variables and path constants.
"""
import os
from dotenv import load_dotenv
load_dotenv()
# ── Paths ──────────────────────────────────────────────────────────────────────
# backend/app/core/config.py -> backend/
_BACKEND_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))
# Ensure logs and storage are inside backend directory
LOG_DIR = os.getenv("LOG_DIR", os.path.join(_BACKEND_DIR, "logs"))
CHAT_DB_PATH = os.getenv("CHAT_DB_PATH", os.path.join(_BACKEND_DIR, "storage", "chat_db", "medigenius.db"))
DATA_DIR = os.getenv("DATA_DIR", os.path.join(_BACKEND_DIR, "data"))
CHROMA_DB_PATH = os.getenv("CHROMA_DB_PATH", os.path.join(_BACKEND_DIR, "data", "chroma_db"))
CHROMA_HF_DATASET = os.getenv("CHROMA_HF_DATASET", "PBThuong/deepmed-chroma-db")
# ── API Keys ───────────────────────────────────────────────────────────────────
GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") # Gemini 2.5 Flash (primary)
# Multi-key rotation: comma-separated keys → [key1, key2, ...]
_raw_keys = os.getenv("GOOGLE_API_KEYS", "")
GOOGLE_API_KEYS: list[str] = [
k.strip() for k in _raw_keys.split(",") if k.strip()
] if _raw_keys.strip() else ([GOOGLE_API_KEY] if GOOGLE_API_KEY else [])
NVIDIA_API_KEY = os.getenv("NVIDIA_API_KEY") # NVIDIA Build (fallback)
NVIDIA_MODEL = os.getenv("NVIDIA_MODEL", "meta/llama-3.3-70b-instruct")
# Legacy OpenRouter support (deprecated — use NVIDIA_API_KEY instead)
OPENROUTER_API_KEY = os.getenv("OPENROUTER_API_KEY")
OPENROUTER_MODEL = os.getenv("OPENROUTER_MODEL", "qwen/qwen3-235b-a22b:free")
|