mirror of
https://github.com/allaunthefox/SilverSight.git
synced 2026-07-30 17:16:16 +00:00
Utility scripts: - download_leanstral.py: HuggingFace model download for autoproof - download_leanstral_urllib.py: stdlib-only variant - prime_slos_explore.py: spectral signature exploration for primes Infrastructure: - scripts/mcp_backend/: Rust MCP backend (src + Cargo.toml/lock, target/ gitignored) Data: - .openresearch/artifacts/slos_checkpoints/: 128K checkpoint data - archive/dead_code_2026-07-03/: 360K archived dead code
83 lines
2.4 KiB
Python
83 lines
2.4 KiB
Python
#!/usr/bin/env python3
|
|
"""Download Leanstral 1.5 using only urllib (no huggingface_hub dependency)."""
|
|
import os, sys, urllib.request, json, time
|
|
|
|
MODEL = "Frosty40/Leanstral-1.5-119B-A6B-GGUF-NVFP4"
|
|
FILE = "Leanstral-1.5-119B-A6B-NVFP4.gguf"
|
|
HF_TOKEN = os.environ.get("HF_TOKEN", "")
|
|
DEST = os.path.expanduser("~/models/leanstral")
|
|
PATH = os.path.join(DEST, FILE)
|
|
|
|
os.makedirs(DEST, exist_ok=True)
|
|
|
|
# Get file metadata from HF API
|
|
api_url = f"https://huggingface.co/api/models/{MODEL}"
|
|
print(f"Querying {api_url}...")
|
|
req = urllib.request.Request(api_url)
|
|
if HF_TOKEN:
|
|
req.add_header("Authorization", f"Bearer {HF_TOKEN}")
|
|
resp = urllib.request.urlopen(req)
|
|
data = json.loads(resp.read())
|
|
|
|
# Find the file in siblings
|
|
siblings = data.get("siblings", [])
|
|
file_info = None
|
|
for s in siblings:
|
|
if s.get("rfilename") == FILE:
|
|
file_info = s
|
|
break
|
|
|
|
if file_info:
|
|
size_gb = file_info.get("size", 0) / (1024**3)
|
|
print(f"File size: {size_gb:.1f} GB")
|
|
else:
|
|
print("File info not found via API, will attempt download anyway")
|
|
|
|
# Direct download URL
|
|
dl_url = f"https://huggingface.co/{MODEL}/resolve/main/{FILE}"
|
|
print(f"Downloading from {dl_url}")
|
|
print(f"To: {PATH}")
|
|
|
|
# Resume partial download
|
|
existing = 0
|
|
mode = "wb"
|
|
if os.path.exists(PATH):
|
|
existing = os.path.getsize(PATH)
|
|
if existing > 0:
|
|
mode = "ab"
|
|
print(f"Resuming at {existing / (1024**3):.1f} GB")
|
|
|
|
headers = {"User-Agent": "Mozilla/5.0"}
|
|
if existing > 0:
|
|
headers["Range"] = f"bytes={existing}-"
|
|
|
|
req = urllib.request.Request(dl_url, headers=headers)
|
|
if HF_TOKEN:
|
|
req.add_header("Authorization", f"Bearer {HF_TOKEN}")
|
|
|
|
resp = urllib.request.urlopen(req)
|
|
total = existing + int(resp.headers.get("Content-Length", 0))
|
|
if total == existing:
|
|
print("Already complete!")
|
|
sys.exit(0)
|
|
|
|
total_gb = total / (1024**3)
|
|
downloaded = existing
|
|
chunk = 32 * 1024 * 1024 # 32 MB chunks
|
|
t0 = time.time()
|
|
|
|
with open(PATH, mode) as f:
|
|
while True:
|
|
data = resp.read(chunk)
|
|
if not data:
|
|
break
|
|
f.write(data)
|
|
downloaded += len(data)
|
|
elapsed = time.time() - t0
|
|
rate = downloaded / (1024**3) / max(elapsed, 0.1)
|
|
pct = downloaded / total * 100 if total > 0 else 0
|
|
print(f"\r {downloaded/(1024**3):.1f}/{total_gb:.1f} GB ({pct:.1f}%) at {rate:.1f} GB/s", end="")
|
|
sys.stdout.flush()
|
|
|
|
print(f"\nDone! {PATH}")
|
|
print(f"Size: {os.path.getsize(PATH) / (1024**3):.1f} GB")
|