Models stage-d (default) + stage-e (next-edit companion); extension 0.6.1
ci / build (push) Canceled after 0s
ci / build (push) Canceled after 0s
- stage-d: next-line / block-close / multi-line fixes, symbols format 2, TS errors in the header. Held-out: 0.426 exact / 0.700 edit sim (stage-c 0.405 / 0.689); block close 0.27 -> 0.79. - stage-e: next-edit (80% exact region rewrites, abstains on 100% of no-edit samples). - Manifest: nextEditModel (companion) and nextEditFormat (older extensions ignore it, so they never use next-edit with the empty-output deletion bug). - Daemon: next-edit served by the companion model in a second llama-server, started after the main model loads. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J39imRDT8L7xYbWzsVWd8A
This commit is contained in:
+2
-1
@@ -2,6 +2,7 @@ These model files are modified versions of Qwen2.5-Coder-0.5B (https://huggingfa
|
||||
Copyright (c) Alibaba Cloud, licensed under the Apache License, Version 2.0 (see LICENSE).
|
||||
|
||||
Modifications: full-parameter fine-tuning for suffix-first fill-in-the-middle completion
|
||||
(and, for stage-c, a repository/symbol-context header), followed by Q8_0 GGUF conversion.
|
||||
(and, from stage-c on, a repository/symbol-context header; stage-d adds TypeScript errors; stage-e adds
|
||||
next-edit prediction), followed by Q8_0 GGUF conversion.
|
||||
Fine-tuning data: permissively licensed (MIT) open-source TypeScript/Vue repositories and
|
||||
the publisher's own code. Secrets were scrubbed from the training data.
|
||||
|
||||
@@ -5,6 +5,8 @@ Q8_0 GGUF fill-in-the-middle models for the [Local Autocomplete](../extensions/v
|
||||
|
||||
| model | description | prompt order | context modes | size |
|
||||
|---|---|---|---|---|
|
||||
| `stage-d` | Suffix-first FIM with symbols (incl. namespace imports) + TS errors; better next-line, block closing and multi-line completions | spm | symbols, simple | 531 MB |
|
||||
| `stage-e` | Next-edit prediction (rewrites a region around the cursor or answers "no edit"); also does FIM, slightly below stage-d | spm | symbols, simple | 531 MB |
|
||||
| `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 |
|
||||
|
||||
@@ -21,6 +23,16 @@ runs it locally with llama.cpp. The files are stored with Git LFS; download link
|
||||
| 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 |
|
||||
| `stage-c` + token healing (daemon default) | 0.405 | 0.689 | |
|
||||
| `stage-d` (symbols + TS errors, healed) | **0.426** | **0.700** | 0.954 |
|
||||
| `stage-e` (symbols + TS errors, healed) | 0.412 | 0.691 | 0.962 |
|
||||
|
||||
New behaviours (886 further held-out samples), exact match, stage-c → stage-d: closing a block 0.27 → **0.79**,
|
||||
next line 0.01 → **0.18**, rest of block 0.08 → 0.11, member access 0.63 → 0.66.
|
||||
|
||||
**Next-edit** (`stage-e`, 445 held-out samples): 80% exact region rewrites (edit similarity 0.99) where an edit
|
||||
was due, and "no edit" on 100% of samples where none was. `stage-d` uses `stage-e` as its next-edit companion
|
||||
(`nextEditModel` in the manifest): the extension downloads both and the daemon runs it in a second llama-server.
|
||||
|
||||
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
|
||||
|
||||
+37
-1
@@ -1,7 +1,43 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"default": "stage-c",
|
||||
"default": "stage-d",
|
||||
"models": [
|
||||
{
|
||||
"name": "stage-d",
|
||||
"file": "stage-d-q8_0.gguf",
|
||||
"url": "stage-d-q8_0.gguf",
|
||||
"sha256": "8edaef02ae9e794929af0267f0f47f600824454b08df7d386e386eec1123c839",
|
||||
"size": 531067552,
|
||||
"order": "spm",
|
||||
"modes": [
|
||||
"symbols",
|
||||
"simple"
|
||||
],
|
||||
"defaultMode": "symbols",
|
||||
"contextFormat": 2,
|
||||
"errors": true,
|
||||
"members": true,
|
||||
"nextEditModel": "stage-e",
|
||||
"description": "Suffix-first FIM with symbols (incl. namespace imports) + TS errors; better next-line, block closing and multi-line completions"
|
||||
},
|
||||
{
|
||||
"name": "stage-e",
|
||||
"file": "stage-e-q8_0.gguf",
|
||||
"url": "stage-e-q8_0.gguf",
|
||||
"sha256": "44d5fe87043f2fd3f8fba39c07a653ec7bdc228f83a2da4a5638be3ab77a962f",
|
||||
"size": 531067552,
|
||||
"order": "spm",
|
||||
"modes": [
|
||||
"symbols",
|
||||
"simple"
|
||||
],
|
||||
"defaultMode": "symbols",
|
||||
"contextFormat": 2,
|
||||
"errors": true,
|
||||
"members": true,
|
||||
"nextEditFormat": 1,
|
||||
"description": "Next-edit prediction (rewrites a region around the cursor or answers \"no edit\"); also does FIM, slightly below stage-d"
|
||||
},
|
||||
{
|
||||
"name": "stage-c",
|
||||
"file": "stage-c-q8_0.gguf",
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
Reference in New Issue
Block a user