Instructions to use pontus-espe/panels-0.5b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers.js
How to use pontus-espe/panels-0.5b with Transformers.js:
// npm i @huggingface/transformers import { pipeline } from '@huggingface/transformers'; // Allocate pipeline const pipe = await pipeline('text-generation', 'pontus-espe/panels-0.5b');
Panels 0.5B
Qwen2.5-0.5B-Instruct, LoRA fine-tuned to write Panels documents: a small declarative language for stateful applications, designed so that a character-level grammar can constrain decoding token by token.
The model is meant to be run behind that grammar. Under the mask it cannot emit a syntax error, name an undeclared field, or apply an effect to the wrong type, because those tokens are removed from the distribution before the argmax. The fine-tune is therefore aimed at everything the grammar cannot express: the conventions of the language, and knowing when a document is finished.
Results
126 held-out requests, drawn from vocabulary disjoint from the training corpus. Scoring is by execution: each generated document is loaded into the runtime, its buttons are clicked, and the rendered output is compared against what the request required. No evaluator model is involved.
| Base | Fine-tuned | |
|---|---|---|
| Behaviour score (mean) | 35.5% | 93.4% |
| Fully correct | 8.7% | 77.0% |
| Terminated without intervention | 59.5% | 100% |
| Prompt length (tokens) | 675 | 32 |
| Parses | 100% | 100% |
Parses is 100% on both sides because the grammar makes anything else impossible. It is the one measure the fine-tune could not improve.
Prompt
The model was trained on exactly this system message. Prompting it differently is prompting a different model.
Write a Panels DSL document for the request.
Files
onnx/model_q4.onnx |
4-bit, MatMulNBits. Use with WebGPU. |
onnx/model_quantized.onnx |
int8. Use with the WASM backend. |
The two are not interchangeable: ONNX Runtime Web's WebGPU backend has little support for the dynamic-int8 ops, and the 4-bit graph is too large for a 32-bit WASM heap.
Limitations
Trained on ten synthetic application archetypes. It handles those shapes well and generalises poorly beyond them, occasionally snapping an unfamiliar request to the nearest one it knows.
- Downloads last month
- -