Instructions to use eyad-silx/progress with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use eyad-silx/progress with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf eyad-silx/progress # Run inference directly in the terminal: llama cli -hf eyad-silx/progress
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf eyad-silx/progress # Run inference directly in the terminal: llama cli -hf eyad-silx/progress
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf eyad-silx/progress # Run inference directly in the terminal: ./build/bin/llama cli -hf eyad-silx/progress
Use Docker
docker model run hf.co/eyad-silx/progress
- Llama new
- LM Studio
- Jan
- Ollama
How to use eyad-silx/progress with Ollama:
ollama run hf.co/eyad-silx/progress
- Unsloth Desktop
- Pi
How to use eyad-silx/progress with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf eyad-silx/progress
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "eyad-silx/progress" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use eyad-silx/progress with Docker Model Runner:
docker model run hf.co/eyad-silx/progress
- Lemonade
How to use eyad-silx/progress with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull eyad-silx/progress
Run and chat with the model
lemonade run user.progress-{{QUANT_TAG}}List all available models
lemonade list
- Hermes Agent
How to use eyad-silx/progress with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf eyad-silx/progress
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default eyad-silx/progress
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use eyad-silx/progress with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf eyad-silx/progress
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "eyad-silx/progress" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Download podflow/gen_data.sh from eyad-silx/progress: direct link, hf CLI and curl.
- Browser
- Download file 3.58 kB
-
https://huggingface.co/eyad-silx/progress/resolve/main/podflow/gen_data.sh
- Command line
-
hf download hf://eyad-silx/progress/podflow/gen_data.sh
-
curl -L -o gen_data.sh https://huggingface.co/eyad-silx/progress/resolve/main/podflow/gen_data.sh
3.58 kB
| # Training + measurement data: diverse corpus rows (12/shard) -> teacher trajectories (train) | |
| # + one pooled 128-row eval set. Selector written inline (make_traindata.py kept as reference). | |
| set -euo pipefail | |
| cd /root/ingot | |
| export PATH=/root/ingot/.venv/bin:/usr/local/cuda/bin:$PATH | |
| export INGOT_TEACHER_GPUS=0 INGOT_KING_GPUS=0 INGOT_CHALLENGER_GPUS=0 | |
| export INGOT_HIDDEN_STATES_DIR=/root/states-live | |
| export HF_HUB_OFFLINE=1 | |
| PY=/root/ingot/.venv/bin/python | |
| echo "== corpus rows -> /root/drawn.jsonl (12/shard across ~17 shards) ==" | |
| if [ ! -s /root/drawn.jsonl ]; then | |
| $PY - <<'MK' | |
| import json, os, urllib.request | |
| from pathlib import Path | |
| import pyarrow.parquet as pq | |
| TOK = os.environ.get("HFTOKEN", "") | |
| HDR = {"User-Agent": "mk", **({"Authorization": f"Bearer {TOK}"} if TOK else {})} | |
| COMMIT = "70d2121e5dcbfc9f2c2e79c890563d96429eeb98" | |
| REPO = "dendriteholdings/ingot_corpus" | |
| BASE = f"https://huggingface.co/datasets/{REPO}/resolve/{COMMIT}/" | |
| req = urllib.request.Request( | |
| f"https://huggingface.co/api/datasets/{REPO}/tree/{COMMIT}?recursive=true", | |
| headers=HDR) | |
| tree = json.load(urllib.request.urlopen(req)) | |
| shards = sorted(t["path"] for t in tree | |
| if t["path"].startswith("data/chungus-") and t["path"].endswith(".parquet")) | |
| print("shards:", len(shards)) | |
| out = [] | |
| tmp = Path("/tmp/shards") | |
| tmp.mkdir(exist_ok=True) | |
| for shard in shards: | |
| local = tmp / Path(shard).name | |
| if not local.exists(): | |
| r = urllib.request.urlopen(urllib.request.Request(BASE + shard, headers=HDR)) | |
| local.write_bytes(r.read()) | |
| parq = pq.ParquetFile(local) | |
| cols = ["dataset", "split", "entry_name", "domain", "language", "user_prompt"] | |
| if "conversation" in parq.schema_arrow.names: | |
| cols.append("conversation") | |
| df = parq.read(columns=cols).to_pylist() | |
| kept_shard = 0 | |
| for row in df: | |
| if row.get("conversation"): | |
| conv = json.loads(row["conversation"]) | |
| msgs, tools = conv["messages"], conv.get("tools") | |
| else: | |
| msgs = [{"role": "user", "content": row["user_prompt"]}] | |
| tools = None | |
| size = sum(len(m["content"].encode()) for m in msgs) | |
| if size > 12000: | |
| continue | |
| sid = f"{row['dataset']}/{row['split']}/{row['entry_name']}/{row['language']}" | |
| out.append({"id": sid, "messages": msgs, "tools": tools}) | |
| kept_shard += 1 | |
| if kept_shard >= 12: | |
| break | |
| print(f"{shard}: kept {kept_shard}", flush=True) | |
| local.unlink(missing_ok=True) # stream: /tmp can't hold all shards | |
| if len(out) >= 200: | |
| break | |
| Path("/root/drawn.jsonl").write_text( | |
| "".join(json.dumps(r, ensure_ascii=False) + "\n" for r in out[:200])) | |
| print("wrote /root/drawn.jsonl:", min(len(out), 200), "rows from", | |
| len({r["id"].split("/")[0] for r in out}), "sources") | |
| MK | |
| fi | |
| echo "== split: 48 train rows + one pooled 128-row eval set (disjoint) ==" | |
| $PY - <<'PY' | |
| import json | |
| rows = [json.loads(l) for l in open("/root/drawn.jsonl")][:176] | |
| with open("/root/evalset.jsonl", "w") as f: | |
| for r in rows[48:176]: | |
| f.write(json.dumps(r, ensure_ascii=False) + "\n") | |
| with open("/root/trainrows.jsonl", "w") as f: | |
| for r in rows[:48]: | |
| f.write(json.dumps(r, ensure_ascii=False) + "\n") | |
| print("trainrows 48, evalset", min(128, max(0, len(rows) - 48))) | |
| PY | |
| echo "== teacher trajectories (vLLM, ~40-70 min) ==" | |
| [ -s /root/train_samples.json ] || $PY /root/gen_teacher.py --dataset /root/trainrows.jsonl \ | |
| --samples 48 --max-prompt 1200 --workers 8 --out /root/train_samples.json | |
| echo "GEN_DATA COMPLETE" | |