๐ŸŸข Quill 1 Preview

Lightweight FIM autocomplete model for Python, built on Qwen2.5-Coder-0.5B.

Quill is a 0.5B parameter code-completion model designed for Fill-in-the-Middle (FIM) tasks in IDEs and editors. It runs comfortably on consumer hardware and is one of the few publicly available 0.5B models trained specifically for autocomplete.

Part of the Minsore family ยท minsore.com


โœจ Highlights

  • ๐Ÿง  FIM-native โ€” understands <fim_prefix>, <fim_suffix>, <fim_middle>
  • โšก Real-time โ€” designed for live autocomplete in editors
  • ๐Ÿ“ฆ Tiny โ€” 0.5B params, ~400 MB in Q4_K_M
  • ๐ŸŽฏ Purpose-built โ€” trained for autocomplete, not chat
  • ๐Ÿ†“ Apache 2.0 โ€” same license as base model

Quill comparison

๐Ÿ“Š Benchmarks

Evaluated against 0.5Bโ€“1B code models. All runs used temperature=0.0, raw FIM mode (--chat-template none).

Benchmark Quill 1 Preview Arche-Codium 0.5B Granite 4.0 1B Qwen2.5-Coder 0.5B
HumanEval@50 54.0% 96.0% 58.0% 52.0%
HumanEval-Infilling (EditSim) 0.423 0.053 0.041 0.045
HumanEval-Infilling (Exact Match) 16% 0% 0% 0%
NextBench v0.2 (autocomplete) 45.0% 5.0% 25.0% 41.7%
Delulu FIM (EditSim) 0.318 0.087 0.041 0.035

๐Ÿ“Œ Key insight: On FIM-specific benchmarks, Quill outperforms competitors by 8โ€“10ร—. On pure code generation (HumanEval), it matches the base model โ€” training added FIM capability without hurting generation.


๐Ÿš€ Quick Start

llama.cpp

llama-server -m quill-1-preview.Q4_K_M.gguf \
  --port 8080 \
  -ngl 99 \
  --chat-template none

Requirements: any GPU with โ‰ฅ2 GB VRAM (full offload), or partial CPU offload as fallback.

FIM request

curl http://localhost:8080/infill \
  -H "Content-Type: application/json" \
  -d '{
    "input_prefix": "def add(a, b):\n    ",
    "input_suffix": "\n\nprint(add(2, 3))",
    "n_predict": 64,
    "temperature": 0.0
  }'

Response:

{
  "content": "return a + b",
  "stop": true
}

Python

import requests

def fim_complete(prefix, suffix, max_tokens=64):
    r = requests.post("http://localhost:8080/infill", json={
        "input_prefix": prefix,
        "input_suffix": suffix,
        "n_predict": max_tokens,
        "temperature": 0.0,
        "stop": ["<fim_end>", "<|endoftext|>"],
    })
    return r.json()["content"]

print(fim_complete(
    "def fib(n):\n    if n <= 1:\n        return n\n    return ",
    "\n\nprint(fib(10))"
))
# โ†’ "fib(n - 1) + fib(n - 2)"

โš™๏ธ Recommended Settings

Parameter Value Notes
n_predict 128โ€“256 Works best on short completions
temperature 0.0 Deterministic; for creative variation use 0.2
repeat_penalty 1.1 Prevents number-looping
stop `["", "< endoftext
--chat-template none Required. Quill is not a chat model

โš ๏ธ Limitations

  • Autocomplete only โ€” does not work as a chat assistant
  • Occasionally appends tests after the function (inherited from mixed training data)
  • Number looping โ€” may repeat large integers on some prompts (use repeat_penalty=1.1)
  • 1024 token context โ€” long files are truncated
  • Python-only โ€” trained on Python FIM data
  • Hallucinations on unfamiliar APIs (EditSim 0.318 on Delulu FIM benchmark)

๐Ÿงฌ Training Details

Base model Qwen2.5-Coder-0.5B-Instruct
Method QLoRA (r=16, ฮฑ=16)
Data Mixed FIM + Python instruction data
Epochs 1
Context 1024 tokens
FIM tokens <fim_prefix>, <fim_suffix>, <fim_middle>, <fim_pad>

๐Ÿ“ Files

File Size Description
quill-1-preview.Q4_K_M.gguf ~400 MB Ready to use (recommended)
quill-1-preview-f16.gguf ~1 GB Full precision GGUF
lora/ ~35 MB LoRA adapter for fine-tuning

๐Ÿ—บ๏ธ Roadmap

  • Quill 2 โ€” fix number looping, raise pattern_hit to 70%+
  • Quill 2 โ€” multi-language support (JS/TS/Rust)
  • Pepper โ€” general-purpose code assistant (1.5B)
  • Symphony โ€” flagship code model (3B)

๐Ÿ“œ License

Apache 2.0 โ€” same as the base Qwen2.5-Coder-0.5B model.


๐Ÿ™ Credits


๐Ÿ“ฌ Contact

Minsore โ€” Ukrainian AI lab building open language models.


โญ If Quill is useful, star the repo and share your results.

Downloads last month
994
Safetensors
Model size
0.5B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for minsore/quill-1-preview

Quantized
(101)
this model

Collection including minsore/quill-1-preview