ensemble: image-classification
inputs:
image_url: string
operations:
- name: classify
operation: think
config:
provider: openai
model: gpt-4o
temperature: 0.2
responseFormat: json
prompt: |
Classify this image:
Categories: product, person, landscape, food, animal, vehicle, building, other
Return: {"category": "...", "confidence": 0-1, "description": "..."}
messages:
- role: user
content:
- type: image_url
image_url:
url: ${input.image_url}
- name: validate
operation: code
config:
code: |
const result = JSON.parse('${classify.output}');
return {
valid: result.confidence > 0.7,
category: result.category,
needsReview: result.confidence < 0.7
};
outputs:
category: ${validate.output.category}
needsReview: ${validate.output.needsReview}