elysium / backend /config.py
pmrinal2005's picture
Upload folder using huggingface_hub
071e3db verified
Raw
History Blame Contribute Delete
2.24 kB
"""Path detection β€” HF Spaces /data bucket vs local ./local_data clone.
Environment variables (defaults match the REAL published repo):
ELYSIUM_MODEL_REPO default: build-small-hackathon/elysium-MiniCPM-V-4.6-F16-GGUF
ELYSIUM_GGUF_FILE default: elysium-f16.gguf
ELYSIUM_MMPROJ_FILE default: "" (no mmproj file is published yet β€” vision auto-disables)
HF_TOKEN optional read token for private/gated repos
ELYSIUM_OFFLINE "1" to force offline mode
"""
import os
from pathlib import Path
def _detect() -> Path:
p = Path("/data")
if p.exists() and os.access(p, os.W_OK):
return p
local = Path(__file__).resolve().parent.parent / "local_data"
local.mkdir(exist_ok=True)
return local
DATA_PATH = _detect()
HYPERGRAPH_DB = DATA_PATH / "hypergraph" / "civilization.db"
FOSSILS_DIR = DATA_PATH / "fossils"
AUDIO_CACHE = DATA_PATH / "audio_cache"
NODE_POSITIONS = DATA_PATH / "node_positions"
REMINDERS_DB = DATA_PATH / "reminders.db"
CALENDAR_ICS = DATA_PATH / "calendar.ics"
OUTBOX = DATA_PATH / "outbox"
UPLOADS_DIR = DATA_PATH / "uploads"
for d in (HYPERGRAPH_DB.parent, FOSSILS_DIR, AUDIO_CACHE, NODE_POSITIONS, OUTBOX, UPLOADS_DIR):
d.mkdir(parents=True, exist_ok=True)
# ─── Model configuration (REAL published repo) ──────────────────────────────
MODEL_REPO = os.environ.get("ELYSIUM_MODEL_REPO", "build-small-hackathon/elysium-MiniCPM-V-4.6-F16-GGUF")
GGUF_FILE = os.environ.get("ELYSIUM_GGUF_FILE", "elysium-f16.gguf")
MMPROJ_FILE = os.environ.get("ELYSIUM_MMPROJ_FILE", "") # empty β†’ no vision
HF_TOKEN = os.environ.get("HF_TOKEN") or os.environ.get("HUGGING_FACE_HUB_TOKEN") or None
OFFLINE_MODE = os.environ.get("ELYSIUM_OFFLINE", "0") == "1"
# ─── Upload limits ──────────────────────────────────────────────────────────
MAX_UPLOAD_FILES = 2
MAX_UPLOAD_BYTES = 12 * 1024 * 1024 # 12 MB per file
ALLOWED_MIME_TYPES = {
"image/png", "image/jpeg", "image/webp", "image/gif",
"application/pdf",
}