File size: 2,243 Bytes
0cebb30 071e3db 0cebb30 071e3db 0cebb30 071e3db 0cebb30 071e3db 0cebb30 071e3db | 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | """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",
}
|