Instructions to use Abiray/OUI-1-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use Abiray/OUI-1-GGUF 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 Abiray/OUI-1-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf Abiray/OUI-1-GGUF:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf Abiray/OUI-1-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf Abiray/OUI-1-GGUF: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 Abiray/OUI-1-GGUF:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf Abiray/OUI-1-GGUF: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 Abiray/OUI-1-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf Abiray/OUI-1-GGUF:Q4_K_M
Use Docker
docker model run hf.co/Abiray/OUI-1-GGUF:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use Abiray/OUI-1-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Abiray/OUI-1-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Abiray/OUI-1-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Abiray/OUI-1-GGUF:Q4_K_M
- Ollama
How to use Abiray/OUI-1-GGUF with Ollama:
ollama run hf.co/Abiray/OUI-1-GGUF:Q4_K_M
- Unsloth Desktop
- Pi
How to use Abiray/OUI-1-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Abiray/OUI-1-GGUF:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Abiray/OUI-1-GGUF:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use Abiray/OUI-1-GGUF with Docker Model Runner:
docker model run hf.co/Abiray/OUI-1-GGUF:Q4_K_M
- Lemonade
How to use Abiray/OUI-1-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Abiray/OUI-1-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.OUI-1-GGUF-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use Abiray/OUI-1-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Abiray/OUI-1-GGUF: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 Abiray/OUI-1-GGUF:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Abiray/OUI-1-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Abiray/OUI-1-GGUF: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 "Abiray/OUI-1-GGUF: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"
OUI-1 GGUF
This repository hosts official GGUF quantizations of thesysdev/OUI-1, the first diffusion model built specifically for Generative UI.
OUI-1 is a fine-tune of Google's DiffusionGemma 26B-A4B-it (26B total parameters, 4B active) designed to write complete user interface screens in openui-lang, the declarative UI language behind OpenUI. It achieves 71.7% on the Generative UI Benchmark (a 5.5x improvement over the base model's 13.0%).
These GGUF binaries are built for inference using llama.cpp PR #24423 by Daniel Han (Unsloth), which implements native tensor graphs for the diffusion-gemma architecture and provides the specialized llama-diffusion-cli block-diffusion sampler.
Quantization Matrix & Files
| Filename | File Size | Quant Method | Memory Profile & Target Use Case |
|---|---|---|---|
OUI-1-Q3_K_M.gguf |
13.3 GB | Q3_K_M | Memory-constrained systems; runs on ~16 GB unified RAM. |
OUI-1-Q4_K_S.gguf |
15.5 GB | Q4_K_S | Fast 4-bit quant; lower compute overhead for CPU inference. |
OUI-1-Q4_K_M.gguf |
16.8 GB | Q4_K_M | Recommended. Best quality/size tradeoff; fits comfortably on 24 GB VRAM GPUs or ~20 GB system RAM. |
OUI-1-Q5_K_M.gguf |
19.1 GB | Q5_K_M | High precision; minimal perplexity loss over unquantized weights. |
OUI-1-Q6_K.gguf |
22.7 GB | Q6_K | Near-lossless representation of original BF16 parameters. |
OUI-1-Q8_0.gguf |
26.9 GB | Q8_0 | Full 8-bit quantization; maximum fidelity. |
Benchmark & Architecture
- Base Model:
google/diffusiongemma-26B-A4B-it(26B total, 4B active) - Method: Tied LoRA fine-tuning merged into base weights
- Context Length: Up to 16,384 tokens
- Canvas Size: 256-token block diffusion canvas
- Sampling: Entropy-bound sampler (default 48 denoising steps, entropy bound 0.1)
| Model | Generative UI Benchmark Score | Solved Screens (out of 184) | Active Parameters |
|---|---|---|---|
| Base DiffusionGemma | 13.0% | 24 / 184 | 4B |
| OUI-1 | 71.7% | 132 / 184 | 4B |
How Generative UI Prompting Works
OUI-1 is not a conversational assistant. It operates strictly by mapping component schemas to declarative layouts:
- System Prompt: Provides the TypeScript signatures and properties of your target component library.
- User Prompt: A structured natural language brief detailing layout sections and data points.
- Model Generation: Emits declarative
openui-langsyntax, one component per line, wired into a hierarchical tree.
1. Generating the Component System Prompt
Generate a prompt compatible with your custom UI component library using @openuidev/cli:
npx @openuidev/cli generate <path-to-library.ts> --out system-prompt.txt
(You can also use the reference prompt from protocols/openui/prompt.ts in the benchmark repository).
2. Validating & Rendering Outputs
Outputs generated by OUI-1 can be directly parsed, validated, and rendered:
- Validation:
@openuidev/lang-core - Renderers:
@openuidev/react-lang,@openuidev/vue-lang, or@openuidev/svelte-lang
Running Inference with llama.cpp
Because text diffusion operates across 256-token canvas blocks iteratively rather than causal autoregressive next-token decoding, use the dedicated llama-diffusion-cli runner.
1. Build llama.cpp with Diffusion Support
git clone [https://github.com/ggml-org/llama.cpp.git](https://github.com/ggml-org/llama.cpp.git)
cd llama.cpp
# Checkout the diffusion-gemma PR branch
git fetch origin pull/24423/head:diffusion-gemma
git checkout diffusion-gemma
# Build binaries (CPU or CUDA)
cmake -B build -DGGML_NATIVE=ON
# For Nvidia GPUs, use: cmake -B build -DGGML_CUDA=ON
cmake --build build -j$(nproc) --target llama-diffusion-cli
2. Execution Example (CPU)
SYSTEM_PROMPT="You are an expert UI generator. Output screens strictly using openui-lang declarative syntax.
Available components:
- Page(title: string)
- Card(title: string)
- Metric(label: string, value: string, status?: 'good' | 'warning' | 'error')
- Text(content: string)
- Stack(direction: 'row' | 'column')"
USER_BRIEF="Status page for the platform team. Single screen with current uptime percentage (99.98%) and the most recent incident details."
./build/bin/llama-diffusion-cli \
-m ./OUI-1-Q4_K_M.gguf \
-t 16 \
-c 4096 \
-n 512 \
-p "<start_of_turn>system
${SYSTEM_PROMPT}<end_of_turn>
<start_of_turn>user
${USER_BRIEF}<end_of_turn>
<start_of_turn>model
"
3. GPU Acceleration
Add -ngl 99 to offload all diffusion layers to GPU VRAM:
./build/bin/llama-diffusion-cli \
-m ./OUI-1-Q4_K_M.gguf \
-ngl 99 \
-c 4096 \
-n 512 \
-p "<start_of_turn>system
...
<start_of_turn>user
...
<start_of_turn>model
"
(Tip: In a local interactive terminal/TTY, you can supply --diffusion-visual to watch the 256-token canvas denoise in real-time).
Python Download Helper
Download individual quant binaries directly via huggingface_hub:
from huggingface_hub import hf_hub_download
model_path = hf_hub_download(
repo_id="Abiray/OUI-1-GGUF",
filename="OUI-1-Q4_K_M.gguf",
local_dir="./models"
)
print(f"Downloaded model to: {model_path}")
Credits & Licensing
- Original Fine-Tuned Model: thesysdev/OUI-1 by Thesys
- Base Architecture & Weights: google/diffusiongemma-26B-A4B-it by Google DeepMind
- License: Apache 2.0 (subject to Google Gemma 4 license terms)
- Diffusion Implementation: Supported via llama.cpp PR #24423 by Daniel Han / Unsloth
- Downloads last month
- 453
3-bit
4-bit
5-bit
6-bit
8-bit