Instructions to use pepper-research/pepper-desk-e2b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use pepper-research/pepper-desk-e2b with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("pepper-research/pepper-desk-e2b") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use pepper-research/pepper-desk-e2b with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "pepper-research/pepper-desk-e2b"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "pepper-research/pepper-desk-e2b" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use pepper-research/pepper-desk-e2b with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "pepper-research/pepper-desk-e2b"
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 "pepper-research/pepper-desk-e2b" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- MLX LM
How to use pepper-research/pepper-desk-e2b with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "pepper-research/pepper-desk-e2b"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "pepper-research/pepper-desk-e2b" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "pepper-research/pepper-desk-e2b", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use pepper-research/pepper-desk-e2b with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "pepper-research/pepper-desk-e2b"
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 pepper-research/pepper-desk-e2b
Run Hermes
hermes
- Atomic Chat
pepper-desk-e2b — the MNN singularity desk, distilled
A 2B-class specialist that reads a wire of headlines and writes a grounded broadcast report — sources attributed, rumors adjudicated, unknowns said out loud. It is the research-desk brain of Pepper, the open-source on-device news anchor (pepper.software · github.com/bunnycompany/pepper · watch her: pepper.watch).
MoltBench (12 bundles, 12 blind judges, deterministic rotation)
| Model | Blind wins | Grounding | Adjudication | Persona |
|---|---|---|---|---|
| pepper-desk-e2b (this, 2B) | 11/12 | 88.6% | 4.67/5 | 3.75/5 |
| Qwen2.5-7B-Instruct-4bit | 1/12 | 77.5% | 2.67 | 1.42 |
| pepper-7b (persona LoRA) | 0/12 | 50.0% | 2.00 | 1.83 |
Benchmark, bundles, scorer, and protocol:
bench/ in the
repo. The origin story matters: the first Pepper model failed this
benchmark against its own base (38.1% vs 64.5% grounding) — that failure
became the release gate this model had to clear.
Format: think, then speak
Trained think-then-speak. Given wire notes, she emits
DESK NOTES: (a private source-weighing analysis) then ON AIR: (the
broadcast). Consumers show or strip the notes; score only the broadcast.
System prompt and wire format: see
bench/README.md
and the repo's gen_eval_v2 harness. Use max_tokens ≥ 500 — tighter caps
truncate her sign-offs (it cost her one judged bundle).
Training
- Base:
google/gemma-4-e2b-itviamlx-community/gemma-4-e2b-it-4bit - LoRA (mlx-lm 0.31, git), lr 4e-5, batch 4, seq 1800, grad-checkpoint, iteration-200 checkpoint selected by validation loss (1.557; later checkpoints overfit — the full curve is documented in the repo)
- Data: 452 examples — 412 claim-verified wire→report pairs authored against the live August-2026 news cycle with explicit DESK NOTES reasoning (including deliberately contaminated bundles with exemplar adjudications), her 65 real broadcast segments, and a 40-riff persona sprinkle
- Trained on an M3 Ultra in ~90 minutes; reproducible on consumer Apple Silicon
Limitations
She is grounded, not omniscient: judges recorded occasional invented connective detail, "peer-reviewed" applied to preprints, and style drift on very thin wires. She is built to work FROM provided wire notes — as a freestanding chatbot she is out of her element and says so less often than she should. English-first. Not for advice of any kind.
License & lineage
Weights are a derivative of Gemma and ship under the Gemma Terms of Use. The surrounding desk (app, bench, pipeline) is AGPL-3.0. Lineage: Danger Ghost (VTuber era) → MNN research anchor → this desk brain.
MNN — all your models, all the time. 🌶
- Downloads last month
- 39
4-bit