Text Generation
Transformers
Safetensors
GGUF
English
code
qwen2
python
code-generation
qwen2.5
qwen
llama.cpp
unsloth
qlora
lora
small-models
edge-ai
local-ai
minsore
ukrainian
experimental
0.5b
generation
Eval Results (legacy)
text-generation-inference
Instructions to use minsore/Quill-Gen-1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use minsore/Quill-Gen-1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="minsore/Quill-Gen-1")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("minsore/Quill-Gen-1") model = AutoModelForCausalLM.from_pretrained("minsore/Quill-Gen-1", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use minsore/Quill-Gen-1 with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf minsore/Quill-Gen-1:Q4_K_M # Run inference directly in the terminal: llama cli -hf minsore/Quill-Gen-1:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf minsore/Quill-Gen-1:Q4_K_M # Run inference directly in the terminal: llama cli -hf minsore/Quill-Gen-1:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf minsore/Quill-Gen-1:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf minsore/Quill-Gen-1:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf minsore/Quill-Gen-1:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf minsore/Quill-Gen-1:Q4_K_M
Use Docker
docker model run hf.co/minsore/Quill-Gen-1:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use minsore/Quill-Gen-1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "minsore/Quill-Gen-1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "minsore/Quill-Gen-1", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/minsore/Quill-Gen-1:Q4_K_M
- SGLang
How to use minsore/Quill-Gen-1 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 "minsore/Quill-Gen-1" \ --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": "minsore/Quill-Gen-1", "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 "minsore/Quill-Gen-1" \ --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": "minsore/Quill-Gen-1", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Ollama
How to use minsore/Quill-Gen-1 with Ollama:
ollama run hf.co/minsore/Quill-Gen-1:Q4_K_M
- Unsloth Desktop
- Docker Model Runner
How to use minsore/Quill-Gen-1 with Docker Model Runner:
docker model run hf.co/minsore/Quill-Gen-1:Q4_K_M
- Lemonade
How to use minsore/Quill-Gen-1 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull minsore/Quill-Gen-1:Q4_K_M
Run and chat with the model
lemonade run user.Quill-Gen-1-Q4_K_M
List all available models
lemonade list
- Atomic Chat
|
Download README.md from minsore/Quill-Gen-1: direct link, hf CLI and curl.
- Browser
- Download file 5.91 kB
-
https://huggingface.co/minsore/Quill-Gen-1/resolve/main/README.md
- Command line
-
hf download hf://minsore/Quill-Gen-1/README.md
-
curl -L -o README.md https://huggingface.co/minsore/Quill-Gen-1/resolve/main/README.md
5.91 kB
| language: | |
| - en | |
| - code | |
| license: apache-2.0 | |
| library_name: transformers | |
| pipeline_tag: text-generation | |
| base_model: Qwen/Qwen2.5-Coder-0.5B-Base | |
| tags: | |
| - code | |
| - python | |
| - code-generation | |
| - text-generation | |
| - qwen2.5 | |
| - qwen | |
| - llama.cpp | |
| - gguf | |
| - unsloth | |
| - qlora | |
| - lora | |
| - small-models | |
| - edge-ai | |
| - local-ai | |
| - minsore | |
| - ukrainian | |
| - experimental | |
| - 0.5b | |
| - generation | |
| model-index: | |
| - name: Quill Gen 1 | |
| results: | |
| - task: | |
| type: text-generation | |
| name: Code Generation | |
| dataset: | |
| type: openai_humaneval | |
| name: HumanEval@50 | |
| metrics: | |
| - type: pass@1 | |
| value: 80.0 | |
| name: Pass@1 | |
| # π’ Quill Gen 1 | |
| Lightweight Python code generation model built on Qwen2.5-Coder-0.5B. | |
| Quill Gen 1 is a 0.5B parameter experimental model for generating Python functions from natural-language descriptions. It is the younger sibling of Pepper 1 Preview β same task, one third the size. Trained as an experiment in small-model code generation, it reaches 80% on HumanEval@50 while running comfortably on consumer hardware. | |
| > β οΈ **This is NOT a FIM model.** Quill Gen 1 cannot do fill-in-the-middle completion. For autocomplete use [Quill 1 Preview](https://huggingface.co/Minsore/quill-1-preview). | |
| Part of the Minsore family Β· minsore.com | |
| ## β¨ Highlights | |
| - π§ **Instruction-tuned** β writes Python functions from plain descriptions | |
| - π¦ **Tiny** β 0.5B params, ~400 MB in Q4_K_M | |
| - π― **Purpose-built** β code generation only, not chat, not FIM | |
| - β‘ **Fast** β designed for low-VRAM setups | |
| - π§ͺ **Experimental** β a proof of concept for small-model generation | |
| - π Apache 2.0 β same license as base model | |
| ## π Benchmarks | |
|  | |
| Evaluated against 0.5Bβ1.5B code models. All runs used `temperature=0.0`, `max_tokens=512`, `--chat-template none`. | |
| | Benchmark | Quill Gen 1 | Pepper 1 Preview | Quill 1 Preview | Qwen2.5-Coder 0.5B | | |
| |---|---|---|---|---| | |
| | HumanEval@50 | **80.0%** | 82.0% | 54.0% | 52.0% | | |
| | HumanEval-Infilling (EditSim) | 0.161 | β | **0.423** | 0.045 | | |
| | HumanEval-Infilling (Exact Match) | 0% | β | **16%** | 0% | | |
| | Delulu FIM (EditSim) | 0.048 | β | **0.318** | 0.035 | | |
| > π **Key insight:** Quill Gen 1 reaches **80% HumanEval@50** β nearly matching Pepper 1 Preview (82%) at **one third the parameter count**. On FIM-specific tasks it underperforms significantly, which is expected: this model was trained for generation, not autocomplete. | |
| ## π Quick Start | |
| ### llama.cpp | |
| ```bash | |
| llama-server -m quill-gen-1.Q4_K_M.gguf \ | |
| --port 8080 \ | |
| -ngl 99 \ | |
| -c 768 \ | |
| --chat-template none | |
| ``` | |
| **Requirements:** any GPU with β₯2 GB VRAM (full offload), or partial CPU offload as fallback. | |
| ### Request | |
| ```bash | |
| curl http://localhost:8080/completion \ | |
| -H "Content-Type: application/json" \ | |
| -d '{ | |
| "prompt": "### Instruction:\nWrite a Python function that checks if a number is prime.\n\n### Response:\n", | |
| "n_predict": 256, | |
| "temperature": 0.0 | |
| }' | |
| ``` | |
| ### Python | |
| ```python | |
| import requests | |
| def generate(instruction, max_tokens=256): | |
| prompt = f"### Instruction:\n{instruction}\n\n### Response:\n" | |
| r = requests.post("http://localhost:8080/completion", json={ | |
| "prompt": prompt, | |
| "n_predict": max_tokens, | |
| "temperature": 0.0, | |
| "stop": ["### Instruction:", "<|endoftext|>"], | |
| }) | |
| return r.json()["content"] | |
| print(generate("Write a Python function that reverses a string.")) | |
| # β def reverse_string(s): | |
| # return s[::-1] | |
| ``` | |
| ## βοΈ Recommended Settings | |
| | Parameter | Value | Notes | | |
| |---|---|---| | |
| | `--chat-template` | `none` | Required. Quill Gen 1 is not a chat model | | |
| | `n_predict` | 128β256 | Works best on short completions | | |
| | `temperature` | `0.0` | Deterministic; use `0.2` for variation | | |
| | `repeat_penalty` | `1.1` | Prevents repetition | | |
| | `-c` | `768` | Matches training context length | | |
| ## β οΈ Limitations | |
| - **Generation only** β does not support fill-in-the-middle, tool calling, or chat | |
| - **Python-only** β trained exclusively on Python code | |
| - **Small context** β 768 tokens; long files are truncated | |
| - **Weak on FIM** β EditSim 0.16, Exact Match 0% (use Quill 1 instead) | |
| - **Occasional over-explanation** β may include comments when only code is requested | |
| - **Number looping** β may repeat large integers on some prompts (use `repeat_penalty=1.1`) | |
| ## 𧬠Training Details | |
| | | | | |
| |---|---| | |
| | Base model | Qwen2.5-Coder-0.5B-Base | | |
| | Method | QLoRA (r=16, Ξ±=16) | | |
| | Data | FIM-converted Python instruction data | | |
| | Epochs | 1 | | |
| | Context | 768 tokens | | |
| | Optimizer | `paged_adamw_8bit` | | |
| ## π Files | |
| | File | Size | Description | | |
| |---|---|---| | |
| | `quill-gen-1.Q4_K_M.gguf` | ~400 MB | Ready to use with llama.cpp (recommended) | | |
| | `model.safetensors` | ~1 GB | Full-precision merged weights | | |
| | `config.json` | β | Model config | | |
| | `tokenizer.json` | β | Tokenizer | | |
| | `tokenizer_config.json` | β | Tokenizer config | | |
| | `generation_config.json` | β | Generation defaults (optional) | | |
| ## πΊοΈ Roadmap | |
| - **Quill 2** β FIM autocomplete, fixed suffix handling, JS/TS/Rust support | |
| - **Pepper 2** β improved MBPP and LiveCodeBench | |
| - **Symphony** β flagship agentic code model (3B MoE) | |
| ## π License | |
| Apache 2.0 β same as the base Qwen2.5-Coder-0.5B model. | |
| ## π Credits | |
| - Base model: [Qwen2.5-Coder-0.5B-Base](https://huggingface.co/Qwen/Qwen2.5-Coder-0.5B-Base) by Alibaba Cloud | |
| - Training framework: Unsloth | |
| - Inference: llama.cpp | |
| ## π¬ Contact | |
| Minsore β Ukrainian AI lab building open language models. | |
| - π [minsore.com](https://minsore.com) | |
| - π€ [huggingface.co/Minsore](https://huggingface.co/Minsore) | |
| - π¬ Built by [@Sollamon](https://huggingface.co/Sollamon) | |
| β If Quill Gen 1 is useful, star the repo and share your results. |