Abliterated / uncensored 4B multimodal model (GGUF) with strong vision understanding and reduced refusal behavior.
Requires a recent build of llama.cpp with multimodal support.
./llama-mtmd-cli \
-m Qwen3-VL-4B-Instruct-Unredacted-MAX.Q8_0.gguf \
--mmproj Qwen3-VL-4B-Instruct-Unredacted-MAX.mmproj-q8_0.gguf \
--image your_image.jpg \
-p "Describe this image in detail." \
--temp 0.7 --top-p 0.8 -n 1024
./llama-server \
-m Qwen3-VL-4B-Instruct-Unredacted-MAX.Q8_0.gguf \
--mmproj Qwen3-VL-4B-Instruct-Unredacted-MAX.mmproj-q8_0.gguf \
--host 0.0.0.0 --port 8080 -c 8192
Then open http://localhost:8080 for the built-in chat UI.
from llama_cpp import Llama
from llama_cpp.llama_chat_format import Qwen3VLChatHandler # or llama_multimodal
import base64
# Load
chat_handler = Qwen3VLChatHandler(
clip_model_path="Qwen3-VL-4B-Instruct-Unredacted-MAX.mmproj-q8_0.gguf"
)
llm = Llama(
model_path="Qwen3-VL-4B-Instruct-Unredacted-MAX.Q8_0.gguf",
chat_handler=chat_handler,
n_ctx=8192,
n_gpu_layers=-1, # or 0 for pure CPU
verbose=False,
)
# Encode image
with open("image.jpg", "rb") as f:
b64 = base64.b64encode(f.read()).decode()
messages = [{
"role": "user",
"content": [
{"type": "text", "text": "What do you see? Be detailed and unrestricted."},
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{b64}"}}
]
}]
response = llm.create_chat_completion(messages=messages, max_tokens=1024, temperature=0.7)
print(response["choices"][0]["message"]["content"])
Note: Use a recent fork / version of llama-cpp-python that includes Qwen3VLChatHandler.
This is a free Static Space. Hosting an interactive Gradio or Docker demo with the GGUF model requires a Hugging Face PRO subscription (or ZeroGPU quota after account maturity). You can still run the model locally with the commands above, or upgrade to PRO and request a Gradio version of this Space.