decider:2b-vision
5 TagsUpdated 2.2B params32768 contextEnglishApache-2.0by Mapika
Reads an image as well as the state: Qwen3.5-2B vision-language with v5 text weights. One PNG per request, up to 10 options.
vision2.2b
ollaya run decider:2b-vision --image shelf.png --questions '{"blocked":{"type":"noul","instructions":"Is the aisle blocked?"},"fill":{"type":"score","instructions":"How full is the shelf?","criteria":["empty","half full","full"]}}' "A photo from the warehouse camera."curl http://localhost:11435/api/decide \
-H "Content-Type: application/json" \
-d '{
"model": "decider:2b-vision",
"state": "A photo from the warehouse camera.",
"images": ["'"$(base64 -w0 shelf.png)"'"],
"questions": {
"blocked": {
"type": "noul",
"instructions": "Is the aisle blocked?"
},
"fill": {
"type": "score",
"instructions": "How full is the shelf?",
"criteria": [
"empty",
"half full",
"full"
]
}
}
}'import base64
import requests
image = base64.b64encode(open("shelf.png", "rb").read()).decode()
response = requests.post(
"http://localhost:11435/api/decide",
json={
"model": "decider:2b-vision",
"state": "A photo from the warehouse camera.",
"images": [image],
"questions": {
"blocked": {
"type": "noul",
"instructions": "Is the aisle blocked?"
},
"fill": {
"type": "score",
"instructions": "How full is the shelf?",
"criteria": [
"empty",
"half full",
"full"
]
}
},
},
)
answers = response.json()["answers"]
print(answers["blocked"]["noul"], answers["fill"]["score"])import { readFile } from "node:fs/promises";
const image = (await readFile("shelf.png")).toString("base64");
const response = await fetch("http://localhost:11435/api/decide", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "decider:2b-vision",
state: "A photo from the warehouse camera.",
images: [image],
questions: {
"blocked": {
"type": "noul",
"instructions": "Is the aisle blocked?"
},
"fill": {
"type": "score",
"instructions": "How full is the shelf?",
"criteria": [
"empty",
"half full",
"full"
]
}
},
}),
});
const { answers } = await response.json();
console.log(answers.blocked.noul, answers.fill.score);Details
- graph68db9945404b · 7 MB
onnx · decider · 2.2B · fp32 - graphc18cff14cac2 · 2 MB
onnx · vision · fp32 - weightsac99c1665252 · 4.4 GB
huggingface.co/Mapika/decider-2b-vision/resolve/863e290…/model.safetensors - tokenizerb6d27c112837 · 20 MB
huggingface.co/Mapika/decider-2b-vision/resolve/863e290…/tokenizer.json - decisionde791797b8a8 · 2 KB
{"engine": "onnx", "family": "decider", "encoder": "", "layout": "decider-vision-v1", …} - calibration366117537290 · 176 B
{"temperature": [1.0, 1.0, 1.0]} - licenseb4d9d0d19903 · 10 KB
decider by Mapika (https://huggingface.co/Mapika/decider-2b)
Every layer is checked against its sha256 when it is pulled. Weights and tokenizers download from the model author's Hugging Face repository at a pinned commit; Ollaya never re-hosts them.