VLM As Classifier¶
v2¶
Class: VLMAsClassifierBlockV2 (there are multiple versions of this block)
Source: inference.core.workflows.core_steps.formatters.vlm_as_classifier.v2.VLMAsClassifierBlockV2
Warning: This block has multiple versions. Please refer to the specific version for details. You can learn more about how versions work here: Versioning
Parse JSON strings from Visual Language Models (VLMs) and Large Language Models (LLMs) into standardized classification prediction format by extracting class predictions, mapping class names to class IDs, handling both single-class and multi-label formats, and converting VLM/LLM text outputs into workflow-compatible classification results for VLM-based classification, LLM classification parsing, and text-to-classification conversion workflows.
How This Block Works¶
This block converts VLM/LLM text outputs containing classification predictions into standardized classification prediction format. The block:
- Receives image and VLM output string containing classification results in JSON format
- Parses JSON content from VLM output:
Handles Markdown-wrapped JSON:
- Searches for JSON wrapped in Markdown code blocks (json ...)
- This format is common in LLM/VLM responses
- If multiple markdown JSON blocks are found, only the first block is parsed
- Extracts JSON content from within markdown tags
Handles raw JSON strings: - If no markdown blocks are found, attempts to parse the entire string as JSON - Supports standard JSON format strings 3. Detects classification format and parses accordingly:
Single-Class Classification Format: - Detects format containing "class_name" and "confidence" fields - Extracts the predicted class name and confidence score - Creates classification prediction with single top class - Maps class name to class ID using provided classes list
Multi-Label Classification Format:
- Detects format containing "predicted_classes" array
- Extracts all predicted classes with their confidence scores
- Handles duplicate classes by taking maximum confidence
- Maps all class names to class IDs using provided classes list
4. Creates class name to class ID mapping:
- Uses the provided classes list to create index mapping (class_name → class_id)
- Maps classes in order (first class = ID 0, second = ID 1, etc.)
- Classes not in the provided list get class_id = -1
5. Normalizes confidence scores:
- Scales confidence values to valid range [0.0, 1.0]
- Clamps values outside the range to 0.0 or 1.0
6. Constructs classification prediction:
- Includes image dimensions (width, height) from input image
- For single-class: includes "top" class, confidence, and predictions array
- For multi-label: includes "predicted_classes" list and predictions dictionary
- Includes inference_id and parent_id for tracking
- Formats prediction in standard classification prediction format
7. Handles errors:
- Sets error_status to True if JSON parsing fails
- Sets error_status to True if classification format cannot be determined
- Returns None for predictions when errors occur
- Always includes inference_id for tracking
8. Returns classification prediction:
- Outputs predictions in standard classification format (compatible with classification blocks)
- Outputs error_status indicating parsing success/failure
- Outputs inference_id with specific type for tracking and lineage
The block enables using VLMs/LLMs for classification by converting their text-based JSON outputs into standardized classification predictions that can be used in workflows like any other classification model output.
Common Use Cases¶
- VLM-Based Classification: Use Visual Language Models for image classification by parsing VLM outputs into classification predictions (e.g., classify images with VLMs, use GPT-4V for classification, parse Claude Vision classifications), enabling VLM classification workflows
- LLM Classification Parsing: Parse LLM text outputs containing classification results into standardized format (e.g., parse GPT classification outputs, convert LLM predictions to classification format, use LLMs for classification), enabling LLM classification workflows
- Text-to-Classification Conversion: Convert text-based classification outputs from models into workflow-compatible classification predictions (e.g., convert text predictions to classification format, parse text-based classifications, convert model outputs to classifications), enabling text-to-classification workflows
- Multi-Format Classification Support: Handle both single-class and multi-label classification formats from VLM/LLM outputs (e.g., support single-label VLM classifications, support multi-label VLM classifications, handle different classification formats), enabling flexible classification workflows
- VLM Integration: Integrate VLM outputs into classification workflows (e.g., use VLMs in classification pipelines, integrate VLM predictions with classification blocks, combine VLM and traditional classification), enabling VLM integration workflows
- Flexible Classification Sources: Enable classification from various model types that output text/JSON (e.g., use any text-output model for classification, convert model outputs to classifications, parse various classification formats), enabling flexible classification workflows
Connecting to Other Blocks¶
This block receives images and VLM outputs and produces classification predictions:
- After VLM/LLM blocks to parse classification outputs into standard format (e.g., VLM output to classification, LLM output to classification, parse model outputs), enabling VLM-to-classification workflows
- Before classification-based blocks to use parsed classifications (e.g., use parsed classifications in workflows, provide classifications to downstream blocks, use VLM classifications with classification blocks), enabling classification-to-workflow workflows
- Before filtering blocks to filter based on VLM classifications (e.g., filter by VLM classification results, use parsed classifications for filtering, apply filters to VLM predictions), enabling classification-to-filter workflows
- Before analytics blocks to analyze VLM classification results (e.g., analyze VLM classifications, perform analytics on parsed classifications, track VLM classification metrics), enabling classification analytics workflows
- Before visualization blocks to display VLM classification results (e.g., visualize VLM classifications, display parsed classification predictions, show VLM classification outputs), enabling classification visualization workflows
- In workflow outputs to provide VLM classifications as final output (e.g., VLM classification outputs, parsed classification results, VLM-based classification outputs), enabling classification output workflows
Version Differences¶
This version (v2) includes the following enhancements over v1:
- Improved Type System: The
inference_idoutput now usesINFERENCE_ID_KINDinstead of genericSTRING_KIND, providing better type safety and semantic clarity for inference ID values in the workflow type system
Requirements¶
This block requires an image input (for metadata and dimensions) and a VLM output string containing JSON classification data. The JSON can be raw JSON or wrapped in Markdown code blocks (json ...). The block supports two JSON formats: single-class (with "class_name" and "confidence" fields) and multi-label (with "predicted_classes" array). The classes parameter must contain a list of all class names used by the model to generate class_id mappings. Classes are mapped to IDs by index (first class = 0, second = 1, etc.). Classes not in the list get class_id = -1. Confidence scores are normalized to [0.0, 1.0] range. The block outputs classification predictions in standard format (compatible with classification blocks), error_status (boolean), and inference_id (INFERENCE_ID_KIND) for tracking.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/vlm_as_classifier@v2to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
classes |
List[str] |
List of all class names used by the classification model, in order. Required to generate mapping between class names (from VLM output) and class IDs (for classification format). Classes are mapped to IDs by index: first class = ID 0, second = ID 1, etc. Classes from VLM output that are not in this list get class_id = -1. Should match the classes the VLM was asked to classify.. | ✅ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow runtime. See Bindings for more info.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to VLM As Classifier in version v2.
- inputs:
Google Gemini,OpenAI,Trace Visualization,Image Preprocessing,Anthropic Claude,Image Slicer,PLC EthernetIP,Dynamic Crop,Bounding Box Visualization,Halo Visualization,Buffer,Mask Visualization,Absolute Static Crop,Pixelate Visualization,MoonshotAI Kimi,SIFT Comparison,Dot Visualization,Image Stack,Stitch Images,OpenAI,Google Gemini,Stability AI Inpainting,Keypoint Visualization,Llama 3.2 Vision,Florence-2 Model,Dimension Collapse,Dynamic Zone,Auto Rotate on Edges,Image Slicer,Circle Visualization,Model Comparison Visualization,Stability AI Outpainting,Line Counter Visualization,Camera Calibration,Contrast Enhancement,Relative Static Crop,Clip Comparison,Morphological Transformation,Halo Visualization,Clip Comparison,Cosmos 3,Polygon Visualization,Camera Focus,Corner Visualization,Ellipse Visualization,Qwen-VL,Crop Visualization,Google Gemma,Qwen 3.5 API,Morphological Transformation,Detections List Roll-Up,Anthropic Claude,Size Measurement,Roboflow Visual Search,Icon Visualization,Heatmap Visualization,Color Visualization,Motion Detection,Google Gemma API,OpenAI,Image Blur,Triangle Visualization,Background Color Visualization,Grid Visualization,Image Contours,Image Threshold,Blur Visualization,GLM-OCR,Roboflow Visual Search Classifier,QR Code Generator,Anthropic Claude,OpenAI-Compatible LLM,Florence-2 Model,Reference Path Visualization,Polygon Zone Visualization,GeoTag Detection,Classification Label Visualization,Perspective Correction,Background Subtraction,Camera Focus,Image Convert Grayscale,Label Visualization,Contrast Equalization,Polygon Visualization,SIFT,Stability AI Image Generation,Text Display,Llama 3.2 Vision,Qwen 3.6 API,MoonshotAI Kimi,OpenRouter,PLC ModbusTCP,Google Gemini,Depth Estimation - outputs:
SAM 3,Trace Visualization,Twilio SMS Notification,Single-Label Classification Model,SAM 3 Interactive,Time in Zone,BoT-SORT Tracker,Object Detection Model,Bounding Box Visualization,Object Detection Model,Webhook Sink,Halo Visualization,Mask Visualization,Template Matching,Twilio SMS/MMS Notification,Pixelate Visualization,SIFT Comparison,Dot Visualization,Image Stack,Multi-Label Classification Model,Instance Segmentation Model,Email Notification,Stability AI Inpainting,OPC UA Writer Sink,Keypoint Visualization,Gaze Detection,Roboflow Custom Metadata,Dynamic Zone,Keypoint Detection Model,PTZ Tracking (ONVIF),Time in Zone,Circle Visualization,Model Comparison Visualization,Slack Notification,Detections Classes Replacement,Line Counter Visualization,Camera Calibration,Single-Label Classification Model,Email Notification,Halo Visualization,Polygon Visualization,Ellipse Visualization,Corner Visualization,PLC Writer,Crop Visualization,Model Monitoring Inference Aggregator,Keypoint Detection Model,Icon Visualization,Heatmap Visualization,Single-Label Classification Model,Instance Segmentation Model,Color Visualization,Motion Detection,Multi-Label Classification Model,Detections Consensus,Instance Segmentation Model,Time in Zone,Triangle Visualization,Segment Anything 2 Model,Background Color Visualization,Object Detection Model,SAM 3,Blur Visualization,Reference Path Visualization,Polygon Zone Visualization,Roboflow Asset Library Attributes,Microsoft SQL Server Sink,Classification Label Visualization,Perspective Correction,Polygon Visualization,Label Visualization,Text Display,Instance Segmentation Model,MQTT Writer,Roboflow Dataset Upload,Roboflow Vision Events,Keypoint Detection Model,Multi-Label Classification Model,Event Writer,Google Gemini,Roboflow Dataset Upload
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
VLM As Classifier in version v2 has.
Bindings
-
input
image(image): Input image that was used to generate the VLM prediction. Used to extract image dimensions (width, height) and metadata (parent_id) for the classification prediction. The same image that was provided to the VLM/LLM block should be used here to maintain consistency..vlm_output(language_model_output): String output from a VLM or LLM block containing classification prediction in JSON format. Can be raw JSON string (e.g., '{"class_name": "dog", "confidence": 0.95}') or JSON wrapped in Markdown code blocks (e.g.,json {...}). Supports two formats: single-class (with 'class_name' and 'confidence' fields) or multi-label (with 'predicted_classes' array). If multiple markdown blocks exist, only the first is parsed..classes(list_of_values): List of all class names used by the classification model, in order. Required to generate mapping between class names (from VLM output) and class IDs (for classification format). Classes are mapped to IDs by index: first class = ID 0, second = ID 1, etc. Classes from VLM output that are not in this list get class_id = -1. Should match the classes the VLM was asked to classify..
-
output
error_status(boolean): Boolean flag.predictions(classification_prediction): Predictions from classifier.inference_id(inference_id): Inference identifier.
Example JSON definition of step VLM As Classifier in version v2
{
"name": "<your_step_name_here>",
"type": "roboflow_core/vlm_as_classifier@v2",
"image": "$inputs.image",
"vlm_output": "$steps.lmm.output",
"classes": [
"$steps.lmm.classes",
"$inputs.classes",
[
"dog",
"cat",
"bird"
],
[
"class_a",
"class_b"
]
]
}
v1¶
Class: VLMAsClassifierBlockV1 (there are multiple versions of this block)
Source: inference.core.workflows.core_steps.formatters.vlm_as_classifier.v1.VLMAsClassifierBlockV1
Warning: This block has multiple versions. Please refer to the specific version for details. You can learn more about how versions work here: Versioning
Parse JSON strings from Visual Language Models (VLMs) and Large Language Models (LLMs) into standardized classification prediction format by extracting class predictions, mapping class names to class IDs, handling both single-class and multi-label formats, and converting VLM/LLM text outputs into workflow-compatible classification results for VLM-based classification, LLM classification parsing, and text-to-classification conversion workflows.
How This Block Works¶
This block converts VLM/LLM text outputs containing classification predictions into standardized classification prediction format. The block:
- Receives image and VLM output string containing classification results in JSON format
- Parses JSON content from VLM output:
Handles Markdown-wrapped JSON:
- Searches for JSON wrapped in Markdown code blocks (json ...)
- This format is common in LLM/VLM responses
- If multiple markdown JSON blocks are found, only the first block is parsed
- Extracts JSON content from within markdown tags
Handles raw JSON strings: - If no markdown blocks are found, attempts to parse the entire string as JSON - Supports standard JSON format strings 3. Detects classification format and parses accordingly:
Single-Class Classification Format: - Detects format containing "class_name" and "confidence" fields - Extracts the predicted class name and confidence score - Creates classification prediction with single top class - Maps class name to class ID using provided classes list
Multi-Label Classification Format:
- Detects format containing "predicted_classes" array
- Extracts all predicted classes with their confidence scores
- Handles duplicate classes by taking maximum confidence
- Maps all class names to class IDs using provided classes list
4. Creates class name to class ID mapping:
- Uses the provided classes list to create index mapping (class_name → class_id)
- Maps classes in order (first class = ID 0, second = ID 1, etc.)
- Classes not in the provided list get class_id = -1
5. Normalizes confidence scores:
- Scales confidence values to valid range [0.0, 1.0]
- Clamps values outside the range to 0.0 or 1.0
6. Constructs classification prediction:
- Includes image dimensions (width, height) from input image
- For single-class: includes "top" class, confidence, and predictions array
- For multi-label: includes "predicted_classes" list and predictions dictionary
- Includes inference_id and parent_id for tracking
- Formats prediction in standard classification prediction format
7. Handles errors:
- Sets error_status to True if JSON parsing fails
- Sets error_status to True if classification format cannot be determined
- Returns None for predictions when errors occur
- Always includes inference_id for tracking
8. Returns classification prediction:
- Outputs predictions in standard classification format (compatible with classification blocks)
- Outputs error_status indicating parsing success/failure
- Outputs inference_id for tracking and lineage
The block enables using VLMs/LLMs for classification by converting their text-based JSON outputs into standardized classification predictions that can be used in workflows like any other classification model output.
Common Use Cases¶
- VLM-Based Classification: Use Visual Language Models for image classification by parsing VLM outputs into classification predictions (e.g., classify images with VLMs, use GPT-4V for classification, parse Claude Vision classifications), enabling VLM classification workflows
- LLM Classification Parsing: Parse LLM text outputs containing classification results into standardized format (e.g., parse GPT classification outputs, convert LLM predictions to classification format, use LLMs for classification), enabling LLM classification workflows
- Text-to-Classification Conversion: Convert text-based classification outputs from models into workflow-compatible classification predictions (e.g., convert text predictions to classification format, parse text-based classifications, convert model outputs to classifications), enabling text-to-classification workflows
- Multi-Format Classification Support: Handle both single-class and multi-label classification formats from VLM/LLM outputs (e.g., support single-label VLM classifications, support multi-label VLM classifications, handle different classification formats), enabling flexible classification workflows
- VLM Integration: Integrate VLM outputs into classification workflows (e.g., use VLMs in classification pipelines, integrate VLM predictions with classification blocks, combine VLM and traditional classification), enabling VLM integration workflows
- Flexible Classification Sources: Enable classification from various model types that output text/JSON (e.g., use any text-output model for classification, convert model outputs to classifications, parse various classification formats), enabling flexible classification workflows
Connecting to Other Blocks¶
This block receives images and VLM outputs and produces classification predictions:
- After VLM/LLM blocks to parse classification outputs into standard format (e.g., VLM output to classification, LLM output to classification, parse model outputs), enabling VLM-to-classification workflows
- Before classification-based blocks to use parsed classifications (e.g., use parsed classifications in workflows, provide classifications to downstream blocks, use VLM classifications with classification blocks), enabling classification-to-workflow workflows
- Before filtering blocks to filter based on VLM classifications (e.g., filter by VLM classification results, use parsed classifications for filtering, apply filters to VLM predictions), enabling classification-to-filter workflows
- Before analytics blocks to analyze VLM classification results (e.g., analyze VLM classifications, perform analytics on parsed classifications, track VLM classification metrics), enabling classification analytics workflows
- Before visualization blocks to display VLM classification results (e.g., visualize VLM classifications, display parsed classification predictions, show VLM classification outputs), enabling classification visualization workflows
- In workflow outputs to provide VLM classifications as final output (e.g., VLM classification outputs, parsed classification results, VLM-based classification outputs), enabling classification output workflows
Requirements¶
This block requires an image input (for metadata and dimensions) and a VLM output string containing JSON classification data. The JSON can be raw JSON or wrapped in Markdown code blocks (json ...). The block supports two JSON formats: single-class (with "class_name" and "confidence" fields) and multi-label (with "predicted_classes" array). The classes parameter must contain a list of all class names used by the model to generate class_id mappings. Classes are mapped to IDs by index (first class = 0, second = 1, etc.). Classes not in the list get class_id = -1. Confidence scores are normalized to [0.0, 1.0] range. The block outputs classification predictions in standard format (compatible with classification blocks), error_status (boolean), and inference_id (string) for tracking.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/vlm_as_classifier@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
classes |
List[str] |
List of all class names used by the classification model, in order. Required to generate mapping between class names (from VLM output) and class IDs (for classification format). Classes are mapped to IDs by index: first class = ID 0, second = ID 1, etc. Classes from VLM output that are not in this list get class_id = -1. Should match the classes the VLM was asked to classify.. | ✅ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow runtime. See Bindings for more info.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to VLM As Classifier in version v1.
- inputs:
Google Gemini,OpenAI,Trace Visualization,Image Preprocessing,Anthropic Claude,Image Slicer,PLC EthernetIP,Dynamic Crop,Bounding Box Visualization,Halo Visualization,Buffer,Mask Visualization,Absolute Static Crop,Pixelate Visualization,MoonshotAI Kimi,SIFT Comparison,Dot Visualization,Image Stack,Stitch Images,OpenAI,Google Gemini,Stability AI Inpainting,Keypoint Visualization,Llama 3.2 Vision,Florence-2 Model,Dimension Collapse,Dynamic Zone,Auto Rotate on Edges,Image Slicer,Circle Visualization,Model Comparison Visualization,Stability AI Outpainting,Line Counter Visualization,Camera Calibration,Contrast Enhancement,Relative Static Crop,Clip Comparison,Morphological Transformation,Halo Visualization,Clip Comparison,Cosmos 3,Polygon Visualization,Camera Focus,Corner Visualization,Ellipse Visualization,Qwen-VL,Crop Visualization,Google Gemma,Qwen 3.5 API,Morphological Transformation,Detections List Roll-Up,Anthropic Claude,Size Measurement,Roboflow Visual Search,Icon Visualization,Heatmap Visualization,Color Visualization,Motion Detection,Google Gemma API,OpenAI,Image Blur,Triangle Visualization,Background Color Visualization,Grid Visualization,Image Contours,Image Threshold,Blur Visualization,GLM-OCR,Roboflow Visual Search Classifier,QR Code Generator,Anthropic Claude,OpenAI-Compatible LLM,Florence-2 Model,Reference Path Visualization,Polygon Zone Visualization,GeoTag Detection,Classification Label Visualization,Perspective Correction,Background Subtraction,Camera Focus,Image Convert Grayscale,Label Visualization,Contrast Equalization,Polygon Visualization,SIFT,Stability AI Image Generation,Text Display,Llama 3.2 Vision,Qwen 3.6 API,MoonshotAI Kimi,OpenRouter,PLC ModbusTCP,Google Gemini,Depth Estimation - outputs:
SAM 3,Image Preprocessing,Single-Label Classification Model,Time in Zone,Anthropic Claude,CLIP Embedding Model,Dynamic Crop,BoT-SORT Tracker,Bounding Box Visualization,Cache Get,Object Detection Model,Path Deviation,SIFT Comparison,Stitch OCR Detections,OpenAI,Instance Segmentation Model,Email Notification,Stability AI Inpainting,Distance Measurement,Llama 3.2 Vision,Florence-2 Model,Gaze Detection,Roboflow Custom Metadata,Dynamic Zone,YOLO-World Model,Auto Rotate on Edges,Keypoint Detection Model,Stability AI Outpainting,Model Comparison Visualization,Slack Notification,Detections Classes Replacement,Line Counter Visualization,Camera Calibration,Single-Label Classification Model,Clip Comparison,CogVLM,Ellipse Visualization,Corner Visualization,Morphological Transformation,Anthropic Claude,Roboflow Visual Search,Instance Segmentation Model,Color Visualization,OpenAI,Time in Zone,Triangle Visualization,Object Detection Model,SAM 3,Image Threshold,SAM 3,Current Time,Roboflow Visual Search Classifier,QR Code Generator,OpenAI-Compatible LLM,Florence-2 Model,Semantic Segmentation Model,Polygon Zone Visualization,Stitch OCR Detections,Roboflow Asset Library Attributes,Path Deviation,Microsoft SQL Server Sink,Moondream2,Label Visualization,Llama 3.2 Vision,Stability AI Image Generation,Instance Segmentation Model,Perception Encoder Embedding Model,Line Counter,MQTT Writer,Roboflow Dataset Upload,Local File Sink,Cache Set,Event Writer,Google Gemini,Depth Estimation,Seg Preview,Google Gemini,OpenAI,Trace Visualization,Twilio SMS Notification,Pixel Color Count,SAM 3 Interactive,LMM For Classification,Object Detection Model,Webhook Sink,Halo Visualization,Mask Visualization,Template Matching,Twilio SMS/MMS Notification,Pixelate Visualization,MoonshotAI Kimi,Dot Visualization,Image Stack,Multi-Label Classification Model,OPC UA Writer Sink,Google Gemini,Keypoint Visualization,LMM,PTZ Tracking (ONVIF),Time in Zone,Circle Visualization,Morphological Transformation,Email Notification,Halo Visualization,Cosmos 3,Polygon Visualization,Qwen-VL,PLC Writer,Google Gemma,Crop Visualization,Qwen 3.5 API,Model Monitoring Inference Aggregator,Keypoint Detection Model,Size Measurement,Icon Visualization,Heatmap Visualization,Single-Label Classification Model,Motion Detection,Multi-Label Classification Model,Google Gemma API,Detections Consensus,Instance Segmentation Model,Segment Anything 2 Model,Image Blur,Background Color Visualization,SAM3 Video Tracker,Detections Stitch,Blur Visualization,GLM-OCR,Anthropic Claude,Reference Path Visualization,Classification Label Visualization,Google Vision OCR,Perspective Correction,Polygon Visualization,Contrast Equalization,Qwen 3.6 API,Text Display,MoonshotAI Kimi,OpenRouter,Qwen3.5-VL,Roboflow Vision Events,Keypoint Detection Model,OpenAI,Multi-Label Classification Model,S3 Sink,Line Counter,Roboflow Dataset Upload
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
VLM As Classifier in version v1 has.
Bindings
-
input
image(image): Input image that was used to generate the VLM prediction. Used to extract image dimensions (width, height) and metadata (parent_id) for the classification prediction. The same image that was provided to the VLM/LLM block should be used here to maintain consistency..vlm_output(language_model_output): String output from a VLM or LLM block containing classification prediction in JSON format. Can be raw JSON string (e.g., '{"class_name": "dog", "confidence": 0.95}') or JSON wrapped in Markdown code blocks (e.g.,json {...}). Supports two formats: single-class (with 'class_name' and 'confidence' fields) or multi-label (with 'predicted_classes' array). If multiple markdown blocks exist, only the first is parsed..classes(list_of_values): List of all class names used by the classification model, in order. Required to generate mapping between class names (from VLM output) and class IDs (for classification format). Classes are mapped to IDs by index: first class = ID 0, second = ID 1, etc. Classes from VLM output that are not in this list get class_id = -1. Should match the classes the VLM was asked to classify..
-
output
error_status(boolean): Boolean flag.predictions(classification_prediction): Predictions from classifier.inference_id(string): String value.
Example JSON definition of step VLM As Classifier in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/vlm_as_classifier@v1",
"image": "$inputs.image",
"vlm_output": "$steps.lmm.output",
"classes": [
"$steps.lmm.classes",
"$inputs.classes",
[
"dog",
"cat",
"bird"
],
[
"class_a",
"class_b"
]
]
}