DeepMedAI / backend /app /core /config.py
PBThuong's picture
Update: NVIDIA fallback to Llama-3.3-70B, skip drug folder in RAG, use consolidated drug reference
d82aa2c
Raw
History Blame Contribute Delete
1.9 kB
"""
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")