Image-Text-to-Text
GGUF
English
llama.cpp
image-quality-assessment
no-reference-iqa
perceptual-quality
aigc-quality
qwen2.5-vl
vision-language
quantized
conversational
Instructions to use Doradus-AI/EvoQuality-IQA-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 Doradus-AI/EvoQuality-IQA-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 Doradus-AI/EvoQuality-IQA-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf Doradus-AI/EvoQuality-IQA-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 Doradus-AI/EvoQuality-IQA-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf Doradus-AI/EvoQuality-IQA-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 Doradus-AI/EvoQuality-IQA-GGUF:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf Doradus-AI/EvoQuality-IQA-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 Doradus-AI/EvoQuality-IQA-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf Doradus-AI/EvoQuality-IQA-GGUF:Q4_K_M
Use Docker
docker model run hf.co/Doradus-AI/EvoQuality-IQA-GGUF:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use Doradus-AI/EvoQuality-IQA-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Doradus-AI/EvoQuality-IQA-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": "Doradus-AI/EvoQuality-IQA-GGUF", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/Doradus-AI/EvoQuality-IQA-GGUF:Q4_K_M
- Ollama
How to use Doradus-AI/EvoQuality-IQA-GGUF with Ollama:
ollama run hf.co/Doradus-AI/EvoQuality-IQA-GGUF:Q4_K_M
- Unsloth Studio
How to use Doradus-AI/EvoQuality-IQA-GGUF 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 Doradus-AI/EvoQuality-IQA-GGUF 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 Doradus-AI/EvoQuality-IQA-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for Doradus-AI/EvoQuality-IQA-GGUF to start chatting
- Pi
How to use Doradus-AI/EvoQuality-IQA-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Doradus-AI/EvoQuality-IQA-GGUF: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": "Doradus-AI/EvoQuality-IQA-GGUF:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use Doradus-AI/EvoQuality-IQA-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Doradus-AI/EvoQuality-IQA-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 "Doradus-AI/EvoQuality-IQA-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"
- Docker Model Runner
How to use Doradus-AI/EvoQuality-IQA-GGUF with Docker Model Runner:
docker model run hf.co/Doradus-AI/EvoQuality-IQA-GGUF:Q4_K_M
- Lemonade
How to use Doradus-AI/EvoQuality-IQA-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Doradus-AI/EvoQuality-IQA-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.EvoQuality-IQA-GGUF-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use Doradus-AI/EvoQuality-IQA-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 Doradus-AI/EvoQuality-IQA-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 Doradus-AI/EvoQuality-IQA-GGUF:Q4_K_M
Run Hermes
hermes
- Atomic Chat
EvoQuality-IQA GGUF Q8_0 + mmproj-f16 — Doradus-AI build — 2026-06-13T21:41:33Z
Browse files- .gitattributes +2 -0
- README.md +148 -0
- evoquality-iqa-Q8_0.gguf +3 -0
- mmproj-evoquality-iqa-f16.gguf +3 -0
- publish_audit.json +15 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
evoquality-iqa-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
mmproj-evoquality-iqa-f16.gguf filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
library_name: gguf
|
| 3 |
+
base_model: ByteDance/EvoQuality
|
| 4 |
+
language: en
|
| 5 |
+
license: apache-2.0
|
| 6 |
+
tags:
|
| 7 |
+
- gguf
|
| 8 |
+
- image-quality-assessment
|
| 9 |
+
- no-reference-iqa
|
| 10 |
+
- perceptual-quality
|
| 11 |
+
- qwen2.5-vl
|
| 12 |
+
- llama.cpp
|
| 13 |
+
- vision-language
|
| 14 |
+
pipeline_tag: image-text-to-text
|
| 15 |
+
---
|
| 16 |
+
|
| 17 |
+
# EvoQuality-IQA GGUF Q8_0 + mmproj-f16 (Doradus-AI build)
|
| 18 |
+
|
| 19 |
+
Quantized GGUF release of [ByteDance/EvoQuality](https://huggingface.co/ByteDance/EvoQuality) for fast local image-quality scoring with `llama.cpp` (server / chat / mtmd).
|
| 20 |
+
|
| 21 |
+
EvoQuality is an 8B Qwen2.5-VL-7B-based no-reference image quality assessment (NR-IQA) model. It scores a single image on a 1-5 perceptual quality scale (1 = severely degraded; 5 = clean, sharp, artifact-free) and supports pairwise A-vs-B comparison. The base model was [self-evolved via GRPO with pairwise majority-vote pseudo-labels](https://huggingface.co/ByteDance/EvoQuality) and lifts PLCC by ~32% and SRCC by ~34% over the Qwen2.5-VL-7B baseline.
|
| 22 |
+
|
| 23 |
+
This release is the first community GGUF quant we could find for EvoQuality — published so others can run perceptual NR-IQA on commodity GPUs without standing up a full vLLM stack.
|
| 24 |
+
|
| 25 |
+
## Files
|
| 26 |
+
|
| 27 |
+
| File | Size | Quantization | Notes |
|
| 28 |
+
|---|---|---|---|
|
| 29 |
+
| `evoquality-iqa-Q8_0.gguf` | 8.10 GB | Q8_0 | Language tower (Qwen2.5-VL-7B base) |
|
| 30 |
+
| `mmproj-evoquality-iqa-f16.gguf` | 1.35 GB | F16 | Vision tower (mmproj sidecar) |
|
| 31 |
+
|
| 32 |
+
Total resident: ~10 GiB weights + KV cache (q8_0 @ 8K × 4 parallel slots ≈ 1.2 GiB) → **~12 GiB VRAM** envelope. Fits comfortably in a 16-GiB GPU.
|
| 33 |
+
|
| 34 |
+
## Usage
|
| 35 |
+
|
| 36 |
+
### llama-server (OpenAI-compatible)
|
| 37 |
+
|
| 38 |
+
```bash
|
| 39 |
+
llama-server \
|
| 40 |
+
--model evoquality-iqa-Q8_0.gguf \
|
| 41 |
+
--mmproj mmproj-evoquality-iqa-f16.gguf \
|
| 42 |
+
--host 0.0.0.0 --port 8259 \
|
| 43 |
+
--ctx-size 8192 \
|
| 44 |
+
--n-gpu-layers 999 \
|
| 45 |
+
--parallel 4 \
|
| 46 |
+
--cont-batching \
|
| 47 |
+
--flash-attn on \
|
| 48 |
+
--cache-type-k q8_0 \
|
| 49 |
+
--cache-type-v q8_0 \
|
| 50 |
+
--alias evoquality-iqa
|
| 51 |
+
```
|
| 52 |
+
|
| 53 |
+
Score an image via the OpenAI chat-completions surface:
|
| 54 |
+
|
| 55 |
+
```bash
|
| 56 |
+
curl -s http://localhost:8259/v1/chat/completions \
|
| 57 |
+
-H 'Content-Type: application/json' \
|
| 58 |
+
-d '{
|
| 59 |
+
"model": "evoquality-iqa",
|
| 60 |
+
"messages": [{
|
| 61 |
+
"role": "user",
|
| 62 |
+
"content": [
|
| 63 |
+
{"type": "image_url", "image_url": {"url": "https://example.com/test.png"}},
|
| 64 |
+
{"type": "text", "text": "Rate the perceptual quality of this image on a scale from 1 to 5, where 1=severely degraded (heavy noise, compression artifacts, blur, broken content) and 5=high quality (clean, sharp, artifact-free). Respond with a single integer 1-5 followed by a brief justification."}
|
| 65 |
+
]
|
| 66 |
+
}],
|
| 67 |
+
"max_tokens": 64,
|
| 68 |
+
"temperature": 0
|
| 69 |
+
}'
|
| 70 |
+
```
|
| 71 |
+
|
| 72 |
+
Expected response shape:
|
| 73 |
+
|
| 74 |
+
```json
|
| 75 |
+
{"choices":[{"message":{"content":"3 — moderate noise around edges, mild compression artifacts visible."}}]}
|
| 76 |
+
```
|
| 77 |
+
|
| 78 |
+
### Python (huggingface_hub + llama-cpp-python)
|
| 79 |
+
|
| 80 |
+
```python
|
| 81 |
+
from huggingface_hub import hf_hub_download
|
| 82 |
+
gguf = hf_hub_download("Doradus-AI/EvoQuality-IQA-GGUF", "evoquality-iqa-Q8_0.gguf")
|
| 83 |
+
mmp = hf_hub_download("Doradus-AI/EvoQuality-IQA-GGUF", "mmproj-evoquality-iqa-f16.gguf")
|
| 84 |
+
# Then point llama-cpp-python at gguf + mmp.
|
| 85 |
+
```
|
| 86 |
+
|
| 87 |
+
## Conversion procedure (for reproducibility)
|
| 88 |
+
|
| 89 |
+
```bash
|
| 90 |
+
# 1. Download upstream safetensors
|
| 91 |
+
huggingface-cli download ByteDance/EvoQuality --local-dir ./hf
|
| 92 |
+
|
| 93 |
+
# 2. Convert language tower → Q8_0 GGUF
|
| 94 |
+
python3 llama.cpp/convert_hf_to_gguf.py ./hf \
|
| 95 |
+
--outfile ./evoquality-iqa-Q8_0.gguf \
|
| 96 |
+
--outtype q8_0
|
| 97 |
+
|
| 98 |
+
# 3. Extract vision tower → mmproj-f16
|
| 99 |
+
python3 llama.cpp/convert_hf_to_gguf.py ./hf \
|
| 100 |
+
--mmproj \
|
| 101 |
+
--outfile ./mmproj-evoquality-iqa-f16.gguf \
|
| 102 |
+
--outtype f16
|
| 103 |
+
```
|
| 104 |
+
|
| 105 |
+
llama.cpp commit verified working: `b9010-d05fe1d7d` (2026-06). Earlier `convert_hf_to_gguf.py` revisions may not handle Qwen2.5-VL mmproj cleanly — use a recent build.
|
| 106 |
+
|
| 107 |
+
## Verification
|
| 108 |
+
|
| 109 |
+
We sanity-tested this build on an RTX PRO 6000 with the smoke recipe:
|
| 110 |
+
|
| 111 |
+
| Test | Result |
|
| 112 |
+
|---|---|
|
| 113 |
+
| One-shot llama-server load + `/v1/models` | model registered, served on port 18999 |
|
| 114 |
+
| `placehold.co/512x512/png` quality query | returns `"3"` (~115 tok/s decode, 371 total tokens) |
|
| 115 |
+
| Resident VRAM | ~19 GiB during inference (12 GiB weights + KV + workspace) |
|
| 116 |
+
| Pool deployment (llama-swap) | live across 3 federated hosts via Consul DNS |
|
| 117 |
+
|
| 118 |
+
## Benchmark deltas (from upstream model card)
|
| 119 |
+
|
| 120 |
+
EvoQuality-8B (this quant's base) vs Qwen2.5-VL-7B baseline:
|
| 121 |
+
|
| 122 |
+
| Metric | Baseline | EvoQuality | Δ |
|
| 123 |
+
|---|---|---|---|
|
| 124 |
+
| PLCC | 0.615 | 0.770 | +25% |
|
| 125 |
+
| SRCC | 0.570 | 0.726 | +27% |
|
| 126 |
+
|
| 127 |
+
NR-IQA cross-dataset generalization (zero-shot on KonIQ-10k, SPAQ, AGIQA-3K, etc.) is the upstream contribution; this quant preserves it within Q8_0 tolerance.
|
| 128 |
+
|
| 129 |
+
## License
|
| 130 |
+
|
| 131 |
+
Apache-2.0 (inherited from the upstream ByteDance/EvoQuality release — see [model card](https://huggingface.co/ByteDance/EvoQuality)).
|
| 132 |
+
|
| 133 |
+
## Citation
|
| 134 |
+
|
| 135 |
+
```bibtex
|
| 136 |
+
@misc{bytedance2025evoquality,
|
| 137 |
+
title = {EvoQuality: Self-Evolving Vision-Language Model for No-Reference Image Quality Assessment},
|
| 138 |
+
author = {ByteDance},
|
| 139 |
+
year = {2025},
|
| 140 |
+
url = {https://huggingface.co/ByteDance/EvoQuality}
|
| 141 |
+
}
|
| 142 |
+
```
|
| 143 |
+
|
| 144 |
+
## Doradus-AI usage
|
| 145 |
+
|
| 146 |
+
This quant powers the `IMAGE_QUALITY_ASSESSMENT` lane in the Doradus stack — the perceptual half of a composite diffusion-output QA gate (the preference half is a PickScore + HPSv2 + ImageReward ensemble). Different signal, different failure modes; both compose. Public release for the broader community to benefit.
|
| 147 |
+
|
| 148 |
+
Built and verified 2026-06-13.
|
evoquality-iqa-Q8_0.gguf
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ab4c72c06d5199cddd986ba34ba7f1ece0fafd7f44b5a559e456d7d61edac05a
|
| 3 |
+
size 8098525248
|
mmproj-evoquality-iqa-f16.gguf
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c7483ced701aa730ba566975710b0a6f1cad9da8eab93ee14072cde54d6bedca
|
| 3 |
+
size 1354163072
|
publish_audit.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"approval_note": "handle bucket b. we have a doradusAI/doradusresearhc hugging face with consul kv crds already, with templates we wuse for releases, find and use it (+ prior: make it a doradus research release once its done and confirmed woring)",
|
| 3 |
+
"approval_timestamp_utc": "2026-06-13T21:41:33Z",
|
| 4 |
+
"source_dir": "/home/ogg130/open-source/evoquality-iqa-gguf",
|
| 5 |
+
"target_repo": "Doradus-AI/EvoQuality-IQA-GGUF",
|
| 6 |
+
"conversion": {
|
| 7 |
+
"base_model": "ByteDance/EvoQuality",
|
| 8 |
+
"base_license": "apache-2.0",
|
| 9 |
+
"tool": "llama.cpp/convert_hf_to_gguf.py",
|
| 10 |
+
"tool_commit": "b9010-d05fe1d7d",
|
| 11 |
+
"quant": "Q8_0 (language tower) + f16 (mmproj sidecar)",
|
| 12 |
+
"verified": "live llama-server load + image scoring smoke (placehold.co 512x512 png \u2192 '3', 371 tokens)",
|
| 13 |
+
"host": "ai-backend (AB1) RTX PRO 6000"
|
| 14 |
+
}
|
| 15 |
+
}
|