Files
nanobot-runtime/projects/ai/artifacts/ollama-model-capabilities.py

31 lines
998 B
Python

#!/usr/bin/env python3
"""List Ollama models on nvidia.hell:11434 with size + capabilities."""
import json
import urllib.request
BASE = "http://nvidia.hell:11434"
with urllib.request.urlopen(f"{BASE}/api/tags", timeout=10) as r:
tags = json.load(r)
models = []
for m in tags.get("models", []):
name = m.get("name")
size = m.get("size", 0)
# fetch capabilities via /api/show
req = urllib.request.Request(
f"{BASE}/api/show",
data=json.dumps({"model": name}).encode(),
headers={"Content-Type": "application/json"},
)
try:
with urllib.request.urlopen(req, timeout=10) as r:
show = json.load(r)
caps = show.get("capabilities", [])
except Exception as e:
caps = [f"ERR: {e}"]
models.append({"name": name, "size_gb": round(size / 1e9, 1), "capabilities": caps})
models.sort(key=lambda x: x["size_gb"])
for m in models:
print(f"{m['size_gb']:>6.1f} GB {','.join(m['capabilities']):<40} {m['name']}")