Commit
·
f94c8f9
1
Parent(s):
0d8e3dc
updated /model/config
Browse files
app.py
CHANGED
@@ -968,18 +968,64 @@ def model_assets_status():
|
|
968 |
|
969 |
@app.get("/model/config")
|
970 |
def model_config():
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
976 |
return {
|
977 |
-
"size":
|
978 |
-
"repo":
|
979 |
-
"revision":
|
980 |
-
"selected_step":
|
981 |
-
"
|
982 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
983 |
}
|
984 |
|
985 |
@app.get("/model/checkpoints")
|
|
|
968 |
|
969 |
@app.get("/model/config")
|
970 |
def model_config():
|
971 |
+
"""
|
972 |
+
Lightweight config snapshot:
|
973 |
+
- never calls get_mrt() (no model build / no downloads)
|
974 |
+
- never calls snapshot_download()
|
975 |
+
- reports whether a model instance is currently loaded in memory
|
976 |
+
- best-effort local checkpoint presence (no network)
|
977 |
+
"""
|
978 |
+
# Read-only snapshot of in-memory model presence
|
979 |
+
with _MRT_LOCK:
|
980 |
+
loaded = (_MRT is not None)
|
981 |
+
|
982 |
+
size = os.getenv("MRT_SIZE", "large")
|
983 |
+
repo = os.getenv("MRT_CKPT_REPO")
|
984 |
+
rev = os.getenv("MRT_CKPT_REV", "main")
|
985 |
+
step = os.getenv("MRT_CKPT_STEP")
|
986 |
+
assets = os.getenv("MRT_ASSETS_REPO")
|
987 |
+
|
988 |
+
# Best-effort local cache probe (no network)
|
989 |
+
def _local_ckpt_dir(step_str: str | None) -> str | None:
|
990 |
+
if not step_str:
|
991 |
+
return None
|
992 |
+
try:
|
993 |
+
from pathlib import Path
|
994 |
+
import re
|
995 |
+
step = re.escape(str(step_str))
|
996 |
+
candidates: list[str] = []
|
997 |
+
for root in ("/home/appuser/.cache/mrt_ckpt/extracted",
|
998 |
+
"/home/appuser/.cache/mrt_ckpt/repo"):
|
999 |
+
p = Path(root)
|
1000 |
+
if not p.exists():
|
1001 |
+
continue
|
1002 |
+
# Look for exact "checkpoint_<step>" directories anywhere under these roots
|
1003 |
+
for d in p.rglob(f"checkpoint_{step}"):
|
1004 |
+
if d.is_dir():
|
1005 |
+
candidates.append(str(d))
|
1006 |
+
return candidates[0] if candidates else None
|
1007 |
+
except Exception:
|
1008 |
+
return None
|
1009 |
+
|
1010 |
+
local_ckpt = _local_ckpt_dir(step)
|
1011 |
+
|
1012 |
return {
|
1013 |
+
"size": size,
|
1014 |
+
"repo": repo,
|
1015 |
+
"revision": rev,
|
1016 |
+
"selected_step": step,
|
1017 |
+
"assets_repo": assets,
|
1018 |
+
|
1019 |
+
# in-memory + local cache hints (no network, no model build)
|
1020 |
+
"loaded": loaded,
|
1021 |
+
"active_jam": _any_jam_running(),
|
1022 |
+
"local_checkpoint_dir": local_ckpt, # None if not found locally
|
1023 |
+
|
1024 |
+
# steering assets currently resident in memory
|
1025 |
+
"mean_loaded": (_MEAN_EMBED is not None),
|
1026 |
+
"centroids_loaded": (_CENTROIDS is not None),
|
1027 |
+
"centroid_count": (None if _CENTROIDS is None else int(_CENTROIDS.shape[0])),
|
1028 |
+
"warmup_done": bool(_WARMED),
|
1029 |
}
|
1030 |
|
1031 |
@app.get("/model/checkpoints")
|