OneDecision-VisionGuard-27B-SFT-MLX

OneDecision-VisionGuard-27B-SFT-MLX

OneDecision-VisionGuard-27B-SFT is a dense 27-billion-parameter multimodal image classification model based on Qwen/Qwen3.8-27B and trained on the ImageShield-OneDecision-Classification content-safety guardrail dataset. The model is designed to classify visual content as Safe or NSFW, with a particular focus on detecting Not Safe for Work (NSFW) sensual content and other potentially sensitive visual content. OneDecision-VisionGuard-27B-SFT performs detailed visual analysis of dress codes, clothing exposure, poses, framing, and visual settings to support conservative content-safety classification.

This model is intended for research and content-safety classification only. Any outputs generated by this model are the sole responsibility of the user. The authors and hosting platform disclaim all liability for generated content. Users must ensure safe, ethical, and lawful usage.

Repository Layout

prithivMLmods/OneDecision-VisionGuard-27B-SFT-MLX/
├── 4bit/
├── 8bit/
├── assets/
└── [root / bf16]

Use with mlx

Install the required library:

pip install -U mlx-vlm

BF16 Variant (Base Weights)

The unquantized BF16 weights are located directly in the root of the repository:

CLI (Terminal)

python -m mlx_vlm generate \
  --model prithivMLmods/OneDecision-VisionGuard-27B-SFT-MLX \
  --max-tokens 256 \
  --temperature 0.0 \
  --prompt "Analyze the provided image and classify the visual content as Safe or NSFW based on clothing exposure, pose, and setting." \
  --image <path_to_image>

Python API

from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config

model_path = "prithivMLmods/OneDecision-VisionGuard-27B-SFT-MLX"
model, processor = load(model_path)
config = load_config(model_path)

image = ["<path_to_image>"]
prompt = "Analyze the provided image and classify the visual content as Safe or NSFW based on clothing exposure, pose, and setting."
formatted_prompt = apply_chat_template(processor, config, prompt, num_images=len(image))

output = generate(
    model, 
    processor, 
    formatted_prompt, 
    image=image, 
    max_tokens=256, 
    temperature=0.0
)
print(output.text)

8-bit Variant

Access the 8-bit quantized files using --subfolder 8bit:

CLI (Terminal)

python -m mlx_vlm generate \
  --model prithivMLmods/OneDecision-VisionGuard-27B-SFT-MLX \
  --subfolder 8bit \
  --max-tokens 256 \
  --temperature 0.0 \
  --prompt "Analyze the provided image and classify the visual content as Safe or NSFW based on clothing exposure, pose, and setting." \
  --image <path_to_image>

Python API

from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config

model_path = "prithivMLmods/OneDecision-VisionGuard-27B-SFT-MLX"
model, processor = load(model_path, subfolder="8bit")
config = load_config(model_path, subfolder="8bit")

image = ["<path_to_image>"]
prompt = "Analyze the provided image and classify the visual content as Safe or NSFW based on clothing exposure, pose, and setting."
formatted_prompt = apply_chat_template(processor, config, prompt, num_images=len(image))

output = generate(
    model, 
    processor, 
    formatted_prompt, 
    image=image, 
    max_tokens=256, 
    temperature=0.0
)
print(output.text)

4-bit Variant

Access the 4-bit quantized files using --subfolder 4bit:

CLI (Terminal)

python -m mlx_vlm generate \
  --model prithivMLmods/OneDecision-VisionGuard-27B-SFT-MLX \
  --subfolder 4bit \
  --max-tokens 256 \
  --temperature 0.0 \
  --prompt "Analyze the provided image and classify the visual content as Safe or NSFW based on clothing exposure, pose, and setting." \
  --image <path_to_image>

Python API

from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config

model_path = "prithivMLmods/OneDecision-VisionGuard-27B-SFT-MLX"
model, processor = load(model_path, subfolder="4bit")
config = load_config(model_path, subfolder="4bit")

image = ["<path_to_image>"]
prompt = "Analyze the provided image and classify the visual content as Safe or NSFW based on clothing exposure, pose, and setting."
formatted_prompt = apply_chat_template(processor, config, prompt, num_images=len(image))

output = generate(
    model, 
    processor, 
    formatted_prompt, 
    image=image, 
    max_tokens=256, 
    temperature=0.0
)
print(output.text)

Model Variants

License and Attribution

This model is based on and/or incorporates the following open-source projects and models:

This model is released under the Apache License 2.0.

Downloads last month
-
Safetensors
Model size
27B params
Tensor type
BF16
·
MLX
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for prithivMLmods/OneDecision-VisionGuard-27B-SFT-MLX

Base model

Qwen/Qwen3.8-27B
Quantized
(2)
this model

Dataset used to train prithivMLmods/OneDecision-VisionGuard-27B-SFT-MLX

Collections including prithivMLmods/OneDecision-VisionGuard-27B-SFT-MLX