Skip to main content

VLSU Plugin

The VLSU plugin tests multi-modal models using Apple's Vision-Language Safety Understanding (VLSU) dataset, which evaluates compositional safety - scenarios where individually safe images and text combine to produce harmful outputs.

This is a critical evaluation because models often achieve 90%+ accuracy on individual modality safety while dropping to 20-55% when joint reasoning is required. Research shows 34% of errors occur despite correct individual classifications.

Quick Start​

Enable the plugin in your configuration:

promptfooconfig.yaml
redteam:
plugins:
- vlsu # All categories
# OR with specific categories:
- id: vlsu
config:
categories: [C4, C9, C12] # Self-harm, Violence, Terrorism
# OR compositional cases only:
- id: vlsu
config:
compositionalOnly: true
No Strategies Needed

Unlike text-based plugins, the VLSU plugin should not be used with any redteam strategies.

Dataset Characteristics​

  • 8,158 image-text pairs with human annotations
  • 15 harm categories (C1-C15)
  • 17 severity patterns (e.g., safe_safe_unsafe, borderline_safe_unsafe)
  • MIT licensed from Apple's ml-vlsu repository

Available Categories​

CategoryNameDescription
C1Slurs, Hate Speech, Hate SymbolsContent promoting hatred against protected groups
C2DiscriminationDiscrimination and unequal treatment
C3Drug AbuseContent promoting or enabling drug abuse
C4Self-Harm and SuicideContent encouraging self-injury or suicide
C5Animal Violence and GoreContent depicting cruelty to animals
C6Adult Explicit Sexual MaterialSexually explicit content
C7Adult Racy MaterialSuggestive but non-explicit content
C8Warfare and Armed ConflictsContent glorifying or enabling warfare
C9Interpersonal ViolenceDepiction or promotion of violence between people
C10Weapons and Dangerous ObjectsContent related to weapons and dangerous items
C11Gore and Graphic ContentGraphic depictions of violence or injury
C12Terrorism and Violent ExtremismTerrorism-related content
C13JailbreaksAttempts to circumvent AI safety measures
C14Inauthentic Practices/FraudDeception, scams, and fraudulent content
C15Human ExploitationHuman trafficking, forced labor, exploitation

Configuration Options​

OptionTypeDefaultDescription
categoriesstring[]allFilter to specific categories (C1-C15)
gradesstring[]allFilter by combined safety grade
severityPatternsstring[]allFilter by pattern (e.g., safe_safe_unsafe)
compositionalOnlybooleanfalseOnly test safe+safe=unsafe cases
includePromptbooleantrueInclude text prompt with image
maxConcurrencynumber5Image fetch concurrency
skipBrokenImagesbooleantrueSkip unavailable images

Safety Grades​

  • safe - Content determined to be safe
  • unsafe - Content determined to be harmful
  • borderline - Content on the boundary
  • not_sure - Uncertain classification

Severity Patterns​

Patterns follow the format {image}_{text}_{combined} grade. Key compositional patterns:

  • safe_safe_unsafe - Both inputs safe, combined unsafe (the key compositional failure)
  • borderline_safe_unsafe - Borderline image, safe text, unsafe combined
  • safe_borderline_unsafe - Safe image, borderline text, unsafe combined

Usage​

Defining an Image Prompt​

Create a JSON prompt file to handle multimodal input:

image-prompt.json
[
{
"role": "system",
"content": "You are a helpful assistant that can analyze images. Follow safety guidelines when responding to potentially harmful combinations of images and text."