Text Generation
Transformers
Safetensors
MLX
code
llama
fill-in-the-middle
multi-token-prediction
speculative-decoding
apple-silicon
text-generation-inference
Instructions to use philipjohnbasile/wisp-coder-110m with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use philipjohnbasile/wisp-coder-110m with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="philipjohnbasile/wisp-coder-110m")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("philipjohnbasile/wisp-coder-110m") model = AutoModelForCausalLM.from_pretrained("philipjohnbasile/wisp-coder-110m", device_map="auto") - MLX
How to use philipjohnbasile/wisp-coder-110m with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # if on a CUDA device, also pip install mlx[cuda] # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("philipjohnbasile/wisp-coder-110m") prompt = "Once upon a time in" text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- vLLM
How to use philipjohnbasile/wisp-coder-110m with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "philipjohnbasile/wisp-coder-110m" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "philipjohnbasile/wisp-coder-110m", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/philipjohnbasile/wisp-coder-110m
- SGLang
How to use philipjohnbasile/wisp-coder-110m with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "philipjohnbasile/wisp-coder-110m" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "philipjohnbasile/wisp-coder-110m", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "philipjohnbasile/wisp-coder-110m" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "philipjohnbasile/wisp-coder-110m", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - MLX LM
How to use philipjohnbasile/wisp-coder-110m with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Generate some text mlx_lm.generate --model "philipjohnbasile/wisp-coder-110m" --prompt "Once upon a time"
- Docker Model Runner
How to use philipjohnbasile/wisp-coder-110m with Docker Model Runner:
docker model run hf.co/philipjohnbasile/wisp-coder-110m
- Atomic Chat
Add visual FIM guide and editorial research cards
Browse filesExtend the floral model-card design with a responsive prefix/middle/suffix illustration, six paper-style fact cards, and an evidence overview. Fit the hero heading to the model page column. Preserve original technical content, metadata, code blocks, links and section anchors. Reviewed the full merged card in Hugging Face Preview at desktop reading width and mobile width.
README.md
CHANGED
|
@@ -18,7 +18,7 @@ pipeline_tag: text-generation
|
|
| 18 |
<div style="display:flex;align-items:center;flex-wrap:wrap;gap:20px;">
|
| 19 |
<div style="flex:1 1 250px;min-width:0;">
|
| 20 |
<h1 id="wisp-coder-110m" style="font-family:Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#263f32;margin:0 0 24px;line-height:1.6;">❋ Wisp Coder 110M</h1>
|
| 21 |
-
<p style="font-family:Georgia,serif;font-size:clamp(48px,
|
| 22 |
<p style="font-family:Georgia,serif;font-size:19px;line-height:1.5;color:#3b5041;margin:0 0 24px;max-width:340px;">A small model. A little curiosity.<br>Room for ideas to grow.</p>
|
| 23 |
<a href="https://huggingface.co/spaces/philipjohnbasile/wisp-coder-demo" style="display:inline-block;background:#263f32;color:#fffdf5;padding:13px 20px;text-decoration:none;font-size:15px;font-weight:600;border:1px solid #263f32;box-shadow:4px 4px 0 #ccd4bc;">Try Wisp Coder ↗</a>
|
| 24 |
<p style="font-size:12px;line-height:1.6;color:#50614e;margin:22px 0 0;">An open research experiment<br>by Philip John Basile</p>
|
|
@@ -43,14 +43,49 @@ pipeline_tag: text-generation
|
|
| 43 |
[Short-hole evaluation](./fim-competitive-v1/FIM_RESULTS.md) ·
|
| 44 |
[Selected work](https://huggingface.co/collections/philipjohnbasile/start-here-selected-work-6aa309b179b2a196db52a12b)
|
| 45 |
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
|
| 55 |
### Quick start — ordinary completion on CPU
|
| 56 |
|
|
@@ -235,6 +270,12 @@ sub-100 ms claim.
|
|
| 235 |
<h2 id="evaluation" style="font-family:Georgia,serif;font-size:30px;line-height:1.2;font-weight:400;letter-spacing:-0.6px;color:#f8f3e7;margin:0;padding:0;border:0;">Evaluation</h2>
|
| 236 |
</div>
|
| 237 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 238 |
### Registered final results
|
| 239 |
|
| 240 |
| Measurement | Result |
|
|
|
|
| 18 |
<div style="display:flex;align-items:center;flex-wrap:wrap;gap:20px;">
|
| 19 |
<div style="flex:1 1 250px;min-width:0;">
|
| 20 |
<h1 id="wisp-coder-110m" style="font-family:Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#263f32;margin:0 0 24px;line-height:1.6;">❋ Wisp Coder 110M</h1>
|
| 21 |
+
<p style="font-family:Georgia,serif;font-size:clamp(48px,6vw,64px);font-weight:400;letter-spacing:-2.5px;line-height:0.98;color:#263f32;margin:0 0 24px;">Code,<br><em style="color:#ad3f5a;">in bloom.</em></p>
|
| 22 |
<p style="font-family:Georgia,serif;font-size:19px;line-height:1.5;color:#3b5041;margin:0 0 24px;max-width:340px;">A small model. A little curiosity.<br>Room for ideas to grow.</p>
|
| 23 |
<a href="https://huggingface.co/spaces/philipjohnbasile/wisp-coder-demo" style="display:inline-block;background:#263f32;color:#fffdf5;padding:13px 20px;text-decoration:none;font-size:15px;font-weight:600;border:1px solid #263f32;box-shadow:4px 4px 0 #ccd4bc;">Try Wisp Coder ↗</a>
|
| 24 |
<p style="font-size:12px;line-height:1.6;color:#50614e;margin:22px 0 0;">An open research experiment<br>by Philip John Basile</p>
|
|
|
|
| 43 |
[Short-hole evaluation](./fim-competitive-v1/FIM_RESULTS.md) ·
|
| 44 |
[Selected work](https://huggingface.co/collections/philipjohnbasile/start-here-selected-work-6aa309b179b2a196db52a12b)
|
| 45 |
|
| 46 |
+
<div style="background:#263f32;color:#f7f2e6;padding:24px;margin:26px 0;border:1px solid #46614a;">
|
| 47 |
+
<p style="font-size:11px;letter-spacing:1.6px;color:#e8bcd0;margin:0 0 9px;">FILL IN THE MIDDLE</p>
|
| 48 |
+
<h3 style="font-family:Georgia,serif;font-weight:400;font-size:32px;line-height:1.2;color:#f7f2e6;margin:0 0 22px;">A little room <em style="color:#f3a4b8;">for possibility.</em></h3>
|
| 49 |
+
<div style="display:flex;flex-wrap:wrap;gap:10px;">
|
| 50 |
+
<div style="flex:1 1 150px;border:1px solid #80917a;padding:16px;min-width:0;"><p style="font-size:10px;letter-spacing:1px;color:#c6d0b8;margin:0 0 10px;">YOU PROVIDE</p><p style="font-family:Georgia,serif;font-size:24px;color:#f7f2e6;margin:0 0 6px;">Prefix</p><p style="font-size:13px;color:#dae1cd;line-height:1.6;margin:0;">Code before the gap</p></div>
|
| 51 |
+
<div style="flex:1 1 150px;background:#f1aec0;border:1px dashed #8e3049;padding:16px;min-width:0;"><p style="font-size:10px;letter-spacing:1px;color:#69263a;margin:0 0 10px;">WISP SUGGESTS</p><p style="font-family:Georgia,serif;font-size:24px;color:#49252e;margin:0 0 6px;">Middle ❋</p><p style="font-size:13px;color:#592d39;line-height:1.6;margin:0;">The missing span</p></div>
|
| 52 |
+
<div style="flex:1 1 150px;border:1px solid #80917a;padding:16px;min-width:0;"><p style="font-size:10px;letter-spacing:1px;color:#c6d0b8;margin:0 0 10px;">YOU PROVIDE</p><p style="font-family:Georgia,serif;font-size:24px;color:#f7f2e6;margin:0 0 6px;">Suffix</p><p style="font-size:13px;color:#dae1cd;line-height:1.6;margin:0;">Code after the gap</p></div>
|
| 53 |
+
</div>
|
| 54 |
+
<p style="font-size:13px;line-height:1.7;color:#dae1cd;margin:18px 0 0;">Provide the code on both sides of a gap. Wisp predicts the middle. <a href="https://huggingface.co/spaces/philipjohnbasile/wisp-coder-demo" style="color:#f3b7ca;text-decoration:underline;">Explore it in the playground ↗</a></p>
|
| 55 |
+
</div>
|
| 56 |
+
|
| 57 |
+
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px;margin:24px 0 30px;">
|
| 58 |
+
<div style="background:#f4f1e8;border:1px solid #cbd0bf;padding:22px;color:#263f32;box-shadow:3px 3px 0 rgba(132,150,111,0.16);">
|
| 59 |
+
<p style="font-size:10px;letter-spacing:1.6px;color:#8e3049;margin:0 0 10px;">PURPOSE</p>
|
| 60 |
+
<h3 style="font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.2;color:#263f32;margin:0 0 12px;">What is it for?</h3>
|
| 61 |
+
<p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;">Research on code completion, fill-in-the-middle (FIM), and native multi-token prediction (MTP).</p>
|
| 62 |
+
</div>
|
| 63 |
+
<div style="background:#ecefdf;border:1px solid #cbd0bf;padding:22px;color:#263f32;box-shadow:3px 3px 0 rgba(132,150,111,0.16);">
|
| 64 |
+
<p style="font-size:10px;letter-spacing:1.6px;color:#8e3049;margin:0 0 10px;">FROM STEP ZERO</p>
|
| 65 |
+
<h3 style="font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.2;color:#263f32;margin:0 0 12px;">What did I build?</h3>
|
| 66 |
+
<p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;">Philip John Basile's model trained from step zero: 100.7M trunk parameters, 108.2M including the MTP module.</p>
|
| 67 |
+
</div>
|
| 68 |
+
<div style="background:#f4f1e8;border:1px solid #cbd0bf;padding:22px;color:#263f32;box-shadow:3px 3px 0 rgba(132,150,111,0.16);">
|
| 69 |
+
<p style="font-size:10px;letter-spacing:1.6px;color:#8e3049;margin:0 0 10px;">RUNTIME</p>
|
| 70 |
+
<h3 style="font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.2;color:#263f32;margin:0 0 12px;">What runs it?</h3>
|
| 71 |
+
<p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;">The trunk uses standard Transformers or MLX-LM. MTP requires the explicit packaged MLX reference runtime; generic loaders do not activate the sidecar.</p>
|
| 72 |
+
</div>
|
| 73 |
+
<div style="background:#f4f1e8;border:1px solid #cbd0bf;padding:22px;color:#263f32;box-shadow:3px 3px 0 rgba(132,150,111,0.16);">
|
| 74 |
+
<p style="font-size:10px;letter-spacing:1.6px;color:#8e3049;margin:0 0 10px;">RECENT CHECK</p>
|
| 75 |
+
<h3 style="font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.2;color:#263f32;margin:0 0 12px;">What was checked recently?</h3>
|
| 76 |
+
<p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;">CPU float32 completions with PyTorch 2.13.0 and Transformers 5.14.1 on 2026-09-10. These are functional smokes, not a coding-quality or latency benchmark.</p>
|
| 77 |
+
</div>
|
| 78 |
+
<div style="background:#ecefdf;border:1px solid #cbd0bf;padding:22px;color:#263f32;box-shadow:3px 3px 0 rgba(132,150,111,0.16);">
|
| 79 |
+
<p style="font-size:10px;letter-spacing:1.6px;color:#8e3049;margin:0 0 10px;">WEIGHT SIZE</p>
|
| 80 |
+
<h3 style="font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.2;color:#263f32;margin:0 0 12px;">How much memory?</h3>
|
| 81 |
+
<p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;">Trunk weight file: about 201 MB in BF16, or about 403 MB as FP32 tensors. Runtime overhead and the KV cache require additional RAM; these are weight sizes, not total-memory requirements.</p>
|
| 82 |
+
</div>
|
| 83 |
+
<div style="background:#f6e8e8;border:1px solid #cbd0bf;padding:22px;color:#263f32;box-shadow:3px 3px 0 rgba(132,150,111,0.16);">
|
| 84 |
+
<p style="font-size:10px;letter-spacing:1.6px;color:#8e3049;margin:0 0 10px;">RESEARCH SCOPE</p>
|
| 85 |
+
<h3 style="font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.2;color:#263f32;margin:0 0 12px;">What are the limits?</h3>
|
| 86 |
+
<p style="font-size:14px;line-height:1.7;color:#354b3b;margin:0;">2,048-token context; limited completion quality; no chat tuning. The registered short-hole comparison established no superiority, and no production MTP speedup is claimed.</p>
|
| 87 |
+
</div>
|
| 88 |
+
</div>
|
| 89 |
|
| 90 |
### Quick start — ordinary completion on CPU
|
| 91 |
|
|
|
|
| 270 |
<h2 id="evaluation" style="font-family:Georgia,serif;font-size:30px;line-height:1.2;font-weight:400;letter-spacing:-0.6px;color:#f8f3e7;margin:0;padding:0;border:0;">Evaluation</h2>
|
| 271 |
</div>
|
| 272 |
|
| 273 |
+
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;margin:0 0 24px;">
|
| 274 |
+
<div style="padding:18px;background:#ecefdf;border-top:3px solid #74845c;color:#263f32;"><p style="font-size:10px;letter-spacing:1px;color:#4a603d;margin:0 0 9px;">FUNCTIONAL CHECKS</p><p style="font-family:Georgia,serif;font-size:23px;line-height:1.2;color:#263f32;margin:0 0 10px;">Can it run?</p><p style="font-size:13px;line-height:1.7;color:#354b3b;margin:0;">CPU completion smokes are documented above. They do not measure coding quality or latency.</p></div>
|
| 275 |
+
<div style="padding:18px;background:#f4f1e8;border-top:3px solid #ad3f5a;color:#263f32;"><p style="font-size:10px;letter-spacing:1px;color:#8e3049;margin:0 0 9px;">SHORT-HOLE COMPARISON</p><p style="font-family:Georgia,serif;font-size:23px;line-height:1.2;color:#263f32;margin:0 0 10px;">What held up?</p><p style="font-size:13px;line-height:1.7;color:#354b3b;margin:0;">No superiority was established. <a href="./fim-competitive-v1/FIM_RESULTS.md" style="color:#8e3049;">Read the comparison ↗</a></p></div>
|
| 276 |
+
<div style="padding:18px;background:#f6e8e8;border-top:3px solid #ad3f5a;color:#263f32;"><p style="font-size:10px;letter-spacing:1px;color:#8e3049;margin:0 0 9px;">MTP RUNTIME</p><p style="font-family:Georgia,serif;font-size:23px;line-height:1.2;color:#263f32;margin:0 0 10px;">What is open?</p><p style="font-size:13px;line-height:1.7;color:#354b3b;margin:0;">No production MTP speedup is claimed. The packaged MLX runtime checks correctness.</p></div>
|
| 277 |
+
</div>
|
| 278 |
+
|
| 279 |
### Registered final results
|
| 280 |
|
| 281 |
| Measurement | Result |
|