OpenAI¶
v2¶
Class: OpenAIBlockV2
(there are multiple versions of this block)
Source: inference.core.workflows.core_steps.models.foundation.openai.v2.OpenAIBlockV2
Warning: This block has multiple versions. Please refer to the specific version for details. You can learn more about how versions work here: Versioning
Ask a question to OpenAI's GPT-4 with Vision model.
You can specify arbitrary text prompts or predefined ones, the block supports the following types of prompt:
-
Open Prompt (
unconstrained
) - Use any prompt to generate a raw response -
Text Recognition (OCR) (
ocr
) - Model recognizes text in the image -
Visual Question Answering (
visual-question-answering
) - Model answers the question you submit in the prompt -
Captioning (short) (
caption
) - Model provides a short description of the image -
Captioning (
detailed-caption
) - Model provides a long description of the image -
Single-Label Classification (
classification
) - Model classifies the image content as one of the provided classes -
Multi-Label Classification (
multi-label-classification
) - Model classifies the image content as one or more of the provided classes -
Structured Output Generation (
structured-answering
) - Model returns a JSON response with the specified fields
You need to provide your OpenAI API key to use the GPT-4 with Vision model.
Type identifier¶
Use the following identifier in step "type"
field: roboflow_core/open_ai@v2
to add the block as
as step in your workflow.
Properties¶
Name | Type | Description | Refs |
---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
task_type |
str |
Task type to be performed by model. Value determines required parameters and output response.. | ❌ |
prompt |
str |
Text prompt to the OpenAI model. | ✅ |
output_structure |
Dict[str, str] |
Dictionary with structure of expected JSON response. | ❌ |
classes |
List[str] |
List of classes to be used. | ✅ |
api_key |
str |
Your OpenAI API key. | ✅ |
model_version |
str |
Model to be used. | ✅ |
image_detail |
str |
Indicates the image's quality, with 'high' suggesting it is of high resolution and should be processed or displayed with high fidelity.. | ✅ |
max_tokens |
int |
Maximum number of tokens the model can generate in it's response.. | ❌ |
temperature |
float |
Temperature to sample from the model - value in range 0.0-2.0, the higher - the more random / "creative" the generations are.. | ✅ |
max_concurrent_requests |
int |
Number of concurrent requests that can be executed by block when batch of input images provided. If not given - block defaults to value configured globally in Workflows Execution Engine. Please restrict if you hit OpenAI limits.. | ❌ |
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 OpenAI
in version v2
.
- inputs:
Size Measurement
,LMM
,Roboflow Custom Metadata
,Buffer
,Image Convert Grayscale
,Absolute Static Crop
,Multi-Label Classification Model
,Relative Static Crop
,Line Counter Visualization
,Gaze Detection
,Background Color Visualization
,OCR Model
,Camera Focus
,Image Contours
,Image Slicer
,Reference Path Visualization
,Keypoint Detection Model
,Instance Segmentation Model
,SIFT Comparison
,Object Detection Model
,Triangle Visualization
,Depth Estimation
,Google Vision OCR
,Roboflow Dataset Upload
,Llama 3.2 Vision
,Dynamic Zone
,Clip Comparison
,Perspective Correction
,Crop Visualization
,Webhook Sink
,Identify Changes
,Dot Visualization
,Model Comparison Visualization
,Email Notification
,Classification Label Visualization
,Camera Calibration
,Dimension Collapse
,Slack Notification
,Stability AI Image Generation
,Trace Visualization
,Corner Visualization
,Image Threshold
,Blur Visualization
,Local File Sink
,CogVLM
,Stability AI Inpainting
,SIFT
,Cosine Similarity
,Circle Visualization
,OpenAI
,Florence-2 Model
,Twilio SMS Notification
,Label Visualization
,Stitch Images
,Image Preprocessing
,Grid Visualization
,Polygon Zone Visualization
,Keypoint Visualization
,LMM For Classification
,Stitch OCR Detections
,Bounding Box Visualization
,Image Blur
,OpenAI
,Halo Visualization
,Google Gemini
,Ellipse Visualization
,Color Visualization
,Pixelate Visualization
,VLM as Detector
,Roboflow Dataset Upload
,Polygon Visualization
,Single-Label Classification Model
,VLM as Classifier
,CSV Formatter
,Image Slicer
,Model Monitoring Inference Aggregator
,Clip Comparison
,Mask Visualization
,Anthropic Claude
,Florence-2 Model
,Dynamic Crop
- outputs:
Size Measurement
,LMM
,Roboflow Custom Metadata
,Buffer
,VLM as Detector
,Distance Measurement
,Line Counter Visualization
,Background Color Visualization
,Reference Path Visualization
,Instance Segmentation Model
,Keypoint Detection Model
,SIFT Comparison
,Object Detection Model
,Triangle Visualization
,Path Deviation
,Line Counter
,Llama 3.2 Vision
,Roboflow Dataset Upload
,Google Vision OCR
,Clip Comparison
,Perspective Correction
,Object Detection Model
,Crop Visualization
,Webhook Sink
,Dot Visualization
,Email Notification
,Model Comparison Visualization
,Classification Label Visualization
,Instance Segmentation Model
,Slack Notification
,Stability AI Image Generation
,Cache Set
,Time in Zone
,Line Counter
,Time in Zone
,Corner Visualization
,Trace Visualization
,Image Threshold
,Local File Sink
,CogVLM
,Stability AI Inpainting
,Keypoint Detection Model
,Circle Visualization
,JSON Parser
,OpenAI
,Path Deviation
,Florence-2 Model
,Twilio SMS Notification
,Label Visualization
,Image Preprocessing
,Detections Stitch
,Grid Visualization
,Polygon Zone Visualization
,Keypoint Visualization
,LMM For Classification
,Bounding Box Visualization
,Image Blur
,OpenAI
,CLIP Embedding Model
,Google Gemini
,Halo Visualization
,Ellipse Visualization
,Color Visualization
,Pixel Color Count
,YOLO-World Model
,VLM as Detector
,Roboflow Dataset Upload
,Polygon Visualization
,Segment Anything 2 Model
,Cache Get
,VLM as Classifier
,Model Monitoring Inference Aggregator
,Clip Comparison
,Mask Visualization
,Anthropic Claude
,Florence-2 Model
,VLM as Classifier
,Dynamic Crop
,Detections Consensus
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
OpenAI
in version v2
has.
Bindings
-
input
images
(image
): The image to infer on..prompt
(string
): Text prompt to the OpenAI model.classes
(list_of_values
): List of classes to be used.api_key
(Union[secret
,string
]): Your OpenAI API key.model_version
(string
): Model to be used.image_detail
(string
): Indicates the image's quality, with 'high' suggesting it is of high resolution and should be processed or displayed with high fidelity..temperature
(float
): Temperature to sample from the model - value in range 0.0-2.0, the higher - the more random / "creative" the generations are..
-
output
output
(Union[string
,language_model_output
]): String value ifstring
or LLM / VLM output iflanguage_model_output
.classes
(list_of_values
): List of values of any type.
Example JSON definition of step OpenAI
in version v2
{
"name": "<your_step_name_here>",
"type": "roboflow_core/open_ai@v2",
"images": "$inputs.image",
"task_type": "<block_does_not_provide_example>",
"prompt": "my prompt",
"output_structure": {
"my_key": "description"
},
"classes": [
"class-a",
"class-b"
],
"api_key": "xxx-xxx",
"model_version": "gpt-4o",
"image_detail": "auto",
"max_tokens": "<block_does_not_provide_example>",
"temperature": "<block_does_not_provide_example>",
"max_concurrent_requests": "<block_does_not_provide_example>"
}
v1¶
Class: OpenAIBlockV1
(there are multiple versions of this block)
Source: inference.core.workflows.core_steps.models.foundation.openai.v1.OpenAIBlockV1
Warning: This block has multiple versions. Please refer to the specific version for details. You can learn more about how versions work here: Versioning
Ask a question to OpenAI's GPT-4 with Vision model.
You can specify arbitrary text prompts to the OpenAIBlock.
You need to provide your OpenAI API key to use the GPT-4 with Vision model.
This model was previously part of the LMM block.
Type identifier¶
Use the following identifier in step "type"
field: roboflow_core/open_ai@v1
to add the block as
as step in your workflow.
Properties¶
Name | Type | Description | Refs |
---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
prompt |
str |
Text prompt to the OpenAI model. | ✅ |
openai_api_key |
str |
Your OpenAI API key. | ✅ |
openai_model |
str |
Model to be used. | ✅ |
json_output_format |
Dict[str, str] |
Holds dictionary that maps name of requested output field into its description. | ❌ |
image_detail |
str |
Indicates the image's quality, with 'high' suggesting it is of high resolution and should be processed or displayed with high fidelity.. | ✅ |
max_tokens |
int |
Maximum number of tokens the model can generate in it's response.. | ❌ |
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 OpenAI
in version v1
.
- inputs:
LMM
,Roboflow Custom Metadata
,Image Convert Grayscale
,Absolute Static Crop
,Multi-Label Classification Model
,Relative Static Crop
,Line Counter Visualization
,Background Color Visualization
,OCR Model
,Camera Focus
,Image Contours
,Image Slicer
,Reference Path Visualization
,Keypoint Detection Model
,Instance Segmentation Model
,SIFT Comparison
,Object Detection Model
,Triangle Visualization
,Depth Estimation
,Google Vision OCR
,Roboflow Dataset Upload
,Llama 3.2 Vision
,Clip Comparison
,Perspective Correction
,Crop Visualization
,Webhook Sink
,Dot Visualization
,Model Comparison Visualization
,Email Notification
,Classification Label Visualization
,Camera Calibration
,Slack Notification
,Stability AI Image Generation
,Trace Visualization
,Corner Visualization
,Image Threshold
,Blur Visualization
,Local File Sink
,CogVLM
,Stability AI Inpainting
,SIFT
,Circle Visualization
,OpenAI
,Florence-2 Model
,Twilio SMS Notification
,Label Visualization
,Stitch Images
,Image Preprocessing
,Grid Visualization
,Polygon Zone Visualization
,Keypoint Visualization
,LMM For Classification
,Stitch OCR Detections
,Bounding Box Visualization
,Image Blur
,OpenAI
,Halo Visualization
,Google Gemini
,Ellipse Visualization
,Color Visualization
,Pixelate Visualization
,VLM as Detector
,Roboflow Dataset Upload
,Polygon Visualization
,Single-Label Classification Model
,VLM as Classifier
,CSV Formatter
,Image Slicer
,Model Monitoring Inference Aggregator
,Mask Visualization
,Anthropic Claude
,Florence-2 Model
,Dynamic Crop
- outputs:
Size Measurement
,LMM
,VLM as Detector
,Absolute Static Crop
,Multi-Label Classification Model
,Distance Measurement
,Line Counter Visualization
,OCR Model
,Image Slicer
,Reference Path Visualization
,Triangle Visualization
,Path Deviation
,Line Counter
,Detections Transformation
,Multi-Label Classification Model
,Byte Tracker
,Llama 3.2 Vision
,Google Vision OCR
,Dynamic Zone
,Clip Comparison
,Perspective Correction
,Dot Visualization
,Detections Filter
,Email Notification
,Model Comparison Visualization
,Classification Label Visualization
,Instance Segmentation Model
,Dimension Collapse
,Slack Notification
,Stability AI Image Generation
,Cache Set
,Property Definition
,Time in Zone
,Line Counter
,Time in Zone
,Trace Visualization
,Local File Sink
,Blur Visualization
,CogVLM
,Stability AI Inpainting
,Cosine Similarity
,Circle Visualization
,OpenAI
,Moondream2
,Stitch Images
,Bounding Rectangle
,Byte Tracker
,SmolVLM2
,Grid Visualization
,Dominant Color
,Polygon Zone Visualization
,Keypoint Visualization
,Bounding Box Visualization
,OpenAI
,Halo Visualization
,Google Gemini
,Ellipse Visualization
,Single-Label Classification Model
,Pixel Color Count
,VLM as Detector
,Velocity
,Roboflow Dataset Upload
,Segment Anything 2 Model
,Single-Label Classification Model
,Cache Get
,VLM as Classifier
,Clip Comparison
,Delta Filter
,Mask Visualization
,VLM as Classifier
,Byte Tracker
,Detections Consensus
,Detection Offset
,Roboflow Custom Metadata
,Buffer
,Image Convert Grayscale
,First Non Empty Or Default
,Rate Limiter
,Relative Static Crop
,Detections Classes Replacement
,Gaze Detection
,Background Color Visualization
,Camera Focus
,Image Contours
,Keypoint Detection Model
,Instance Segmentation Model
,SIFT Comparison
,Object Detection Model
,Detections Stabilizer
,Depth Estimation
,Roboflow Dataset Upload
,Object Detection Model
,Crop Visualization
,Webhook Sink
,Identify Changes
,Camera Calibration
,Continue If
,Qwen2.5-VL
,Detections Merge
,Corner Visualization
,Image Threshold
,QR Code Detection
,Keypoint Detection Model
,SIFT
,Overlap Filter
,JSON Parser
,Expression
,Path Deviation
,Florence-2 Model
,Twilio SMS Notification
,Label Visualization
,Image Preprocessing
,Detections Stitch
,Template Matching
,LMM For Classification
,Stitch OCR Detections
,Image Blur
,CLIP Embedding Model
,Color Visualization
,Barcode Detection
,Pixelate Visualization
,SIFT Comparison
,Data Aggregator
,YOLO-World Model
,Polygon Visualization
,CSV Formatter
,Model Monitoring Inference Aggregator
,Image Slicer
,Anthropic Claude
,Florence-2 Model
,Identify Outliers
,Dynamic Crop
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
OpenAI
in version v1
has.
Bindings
-
input
images
(image
): The image to infer on..prompt
(string
): Text prompt to the OpenAI model.openai_api_key
(Union[secret
,string
]): Your OpenAI API key.openai_model
(string
): Model to be used.image_detail
(string
): Indicates the image's quality, with 'high' suggesting it is of high resolution and should be processed or displayed with high fidelity..
-
output
parent_id
(parent_id
): Identifier of parent for step output.root_parent_id
(parent_id
): Identifier of parent for step output.image
(image_metadata
): Dictionary with image metadata required by supervision.structured_output
(dictionary
): Dictionary.raw_output
(string
): String value.*
(*
): Equivalent of any element.
Example JSON definition of step OpenAI
in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/open_ai@v1",
"images": "$inputs.image",
"prompt": "my prompt",
"openai_api_key": "xxx-xxx",
"openai_model": "gpt-4o",
"json_output_format": {
"count": "number of cats in the picture"
},
"image_detail": "auto",
"max_tokens": 450
}