# Models Q8_0 GGUF fill-in-the-middle models for the [Local Autocomplete](../extensions/vscode) extension, fine-tuned from [Qwen2.5-Coder-0.5B](https://huggingface.co/Qwen/Qwen2.5-Coder-0.5B) for **TypeScript, Vue and Node.js**. | model | description | prompt order | context modes | size | |---|---|---|---|---| | `stage-c` | Suffix-first FIM with repo/symbol-context headers (default) | spm | symbols, simple | 531 MB | | `stage-b` | Suffix-first FIM without context headers (previous stage) | spm | raw | 531 MB | The extension reads [`manifest.json`](manifest.json), downloads the selected model once, verifies its SHA-256 and runs it locally with llama.cpp. The files are stored with Git LFS; download links use Gitea's `/media/` route: https://git.harvmaster.com/Harvmaster/autocomplete-model/media/branch/main/models/ ## Evaluation (612 held-out samples from private repos the model never saw, suffix-first prompts) | | exact match | edit similarity | still parses | |---|---:|---:|---:| | Qwen2.5-Coder-0.5B (base) | 0.270 | 0.506 | 0.783 | | Qwen2.5-Coder-1.5B (base) | 0.366 | 0.623 | 0.882 | | `stage-b` | 0.391 | 0.689 | 0.952 | | `stage-c` (with symbol context) | 0.397 | 0.681 | 0.954 | The base models were evaluated in their native prefix-first order (they can't do suffix-first). Suffix-first prompts let the editor reuse the KV cache while typing: about 2 tokens re-processed per keystroke, ~90–100 ms end-to-end on a laptop CPU. ## Using the files directly Any llama.cpp-based runtime works, but the prompt must match the training layout. The [daemon](../daemon) and [`shared/prompt.ts`](../shared/prompt.ts) are the reference. Suffix-first (`spm`) order: <|fim_prefix|><|fim_suffix|>{suffix}<|fim_middle|>{prefix} → model generates the middle, then <|endoftext|> `stage-c` additionally expects a repo-level header: `<|repo_name|>{repo}\n<|file_sep|>{path}\n`, optionally with a `__symbols__.d.ts` pseudo-file of available symbols before it. ## License Apache-2.0 ([LICENSE](LICENSE), [NOTICE](NOTICE)), as a derivative of Qwen2.5-Coder.