Instructions to use DogukanUrker/ui-distill-3b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use DogukanUrker/ui-distill-3b with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="DogukanUrker/ui-distill-3b", filename="ui-distill-3b-Q4_K_M.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use DogukanUrker/ui-distill-3b 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 DogukanUrker/ui-distill-3b:Q4_K_M # Run inference directly in the terminal: llama cli -hf DogukanUrker/ui-distill-3b:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf DogukanUrker/ui-distill-3b:Q4_K_M # Run inference directly in the terminal: llama cli -hf DogukanUrker/ui-distill-3b: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 DogukanUrker/ui-distill-3b:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf DogukanUrker/ui-distill-3b: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 DogukanUrker/ui-distill-3b:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf DogukanUrker/ui-distill-3b:Q4_K_M
Use Docker
docker model run hf.co/DogukanUrker/ui-distill-3b:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use DogukanUrker/ui-distill-3b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "DogukanUrker/ui-distill-3b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DogukanUrker/ui-distill-3b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/DogukanUrker/ui-distill-3b:Q4_K_M
- Ollama
How to use DogukanUrker/ui-distill-3b with Ollama:
ollama run hf.co/DogukanUrker/ui-distill-3b:Q4_K_M
- Unsloth Studio
How to use DogukanUrker/ui-distill-3b with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for DogukanUrker/ui-distill-3b to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for DogukanUrker/ui-distill-3b to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for DogukanUrker/ui-distill-3b to start chatting
- Pi
How to use DogukanUrker/ui-distill-3b with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf DogukanUrker/ui-distill-3b:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "DogukanUrker/ui-distill-3b:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use DogukanUrker/ui-distill-3b with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf DogukanUrker/ui-distill-3b:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default DogukanUrker/ui-distill-3b:Q4_K_M
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use DogukanUrker/ui-distill-3b with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf DogukanUrker/ui-distill-3b:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "DogukanUrker/ui-distill-3b:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use DogukanUrker/ui-distill-3b with Docker Model Runner:
docker model run hf.co/DogukanUrker/ui-distill-3b:Q4_K_M
- Lemonade
How to use DogukanUrker/ui-distill-3b with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull DogukanUrker/ui-distill-3b:Q4_K_M
Run and chat with the model
lemonade run user.ui-distill-3b-Q4_K_M
List all available models
lemonade list
ui-distill-3b
Qwen2.5-Coder-3B-Instruct, fine-tuned to write single-file HTML UI components in the style of Ornith-1.0-35B.
Trained on one RTX 3060 12GB.
What it is for
Getting a polished, self-contained HTML component out of a one-line request. The long system prompt that normally coaxes this out of a big model — use Tailwind, add hover states, center it on a full-height background, make it screenshot-ready — is baked into the weights, so you do not have to write it.
Use this system prompt, and nothing more:
You are an expert front-end developer. Respond with a single,
self-contained HTML file and nothing else.
Then just ask: "Create a settings panel for a self-hosted media server. Toggles for hardware transcoding and auto-download, a storage usage bar, and a save button. Dark theme, modern and polished."
Recommended sampling: temperature 0.7, top_p 0.95, repeat penalty off (1.0).
Repetition penalty degrades HTML — closing tags and repeated class names are
legitimate repetition.
Files
| file | size |
|---|---|
ui-distill-3b-Q8_0.gguf |
3.1 GB — recommended |
ui-distill-3b-Q4_K_M.gguf |
1.8 GB |
adapter/ |
229 MB LoRA, if you want to merge it yourself |
Q8_0 at 32k context uses about 4.5 GB of VRAM.
Results
Ten held-out build requests, written by the teacher itself, same one-line system prompt and sampling for every model:
| median output | throughput | clean finish | |
|---|---|---|---|
| Qwen2.5-Coder-3B (stock) | 3,579 chars | ~88 tok/s | 10/10 |
| ui-distill-3b | 27,267 chars | ~85 tok/s | 8/10 |
| Ornith-1.0-35B (teacher) | 28,045 chars | ~51 tok/s | 10/10 |
Output volume converged to within 3% of the 35B teacher, at 1.7x the speed. The substance changed too: the fine-tune reaches for Tailwind, backdrop blur, hover states and transitions without being asked.
Limitations
Read these before you deploy it anywhere.
- It does not always know when to stop. 2 of 10 evaluation runs ran into the 32k
context wall and produced truncated HTML. Training samples were capped at ~10k
tokens, so verbosity generalized but termination did not. The stock base model and
the teacher both finished 10/10. Cap
max_tokensyourself. - It is verbose by construction. If you want compact markup, this is the wrong model. Median output is ~27k characters.
- 0.292 is a training loss. There is no held-out validation set. It indicates fit to the teacher's distribution, not UI quality.
- Narrow domain. 33 component types x 14 visual styles, dark-theme-heavy, Tailwind Play CDN. Outside that, expect it to behave like the stock 3B.
- English only, and it inherits every bias and failure mode of both the base model and the teacher.
Training
base unsloth/Qwen2.5-Coder-3B-Instruct
method QLoRA (Unsloth), r32 alpha32, response-only masking
data 567 of 648 samples usable at max_seq_len 10240
epochs 2 (284 steps, batch 1 x grad accum 4)
lr 2e-4 linear, adamw_8bit, seed 3407
hardware 1x RTX 3060 12GB
runtime 1h57m05s
final loss 0.292
License
Non-commercial. The base model, Qwen2.5-Coder-3B-Instruct, is released under the Qwen Research License, and this derivative inherits it. Note this is specific to the 3B — the 0.5B, 1.5B, 7B, 14B and 32B Qwen2.5-Coder models are Apache 2.0.
The training data is separate and permissive: it is Ornith-1.0-35B output, and Ornith is MIT. See DogukanUrker/ui-distill-html-648.
Credits
Teacher: Ornith-1.0-35B by DeepReinforce (MIT). Base: Qwen2.5-Coder-3B-Instruct by Qwen. Trained with Unsloth.
Code, evaluation harness and side-by-side gallery: https://github.com/DogukanUrker/ui-distill
- Downloads last month
- 35
4-bit
8-bit