Image-Text-to-Text
Transformers
Safetensors
English
qwen3_5
decision-model
typed-decisions
one-pass
option-probabilities
conversational
Instructions to use thegovind/blink-mimo-9b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use thegovind/blink-mimo-9b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="thegovind/blink-mimo-9b") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("thegovind/blink-mimo-9b") model = AutoModelForMultimodalLM.from_pretrained("thegovind/blink-mimo-9b", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use thegovind/blink-mimo-9b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "thegovind/blink-mimo-9b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "thegovind/blink-mimo-9b", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/thegovind/blink-mimo-9b
- SGLang
How to use thegovind/blink-mimo-9b with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "thegovind/blink-mimo-9b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "thegovind/blink-mimo-9b", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "thegovind/blink-mimo-9b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "thegovind/blink-mimo-9b", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use thegovind/blink-mimo-9b with Docker Model Runner:
docker model run hf.co/thegovind/blink-mimo-9b
Code revision v1.4: card update
Browse files
README.md
CHANGED
|
@@ -28,8 +28,8 @@ Send a text or JSON `state` and typed questions (`choice`, `noul`, `score`). Eac
|
|
| 28 |
|---|---|
|
| 29 |
| Base model | [XiaomiMiMo/MiMo-V2.6-Distill-Qwen-9B](https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Distill-Qwen-9B) |
|
| 30 |
| Weights size | 18.8 GB bf16 (8.95B text parameters, 9.41B total) |
|
| 31 |
-
| Revision | v1.
|
| 32 |
-
| License |
|
| 33 |
|
| 34 |
## Results
|
| 35 |
|
|
@@ -130,7 +130,7 @@ Training overlap: Public train splits included ContractNLI, iSarcasmEval and VAS
|
|
| 130 |
|
| 131 |
### JevBench: public items only
|
| 132 |
|
| 133 |
-
The JevBench numbers are public-item development proxies, not official scores, and claim no rank or parity.
|
| 134 |
|
| 135 |
| Model | Easy | Standard | Hard | Hard ECE | Official score |
|
| 136 |
|---|---:|---:|---:|---:|---|
|
|
@@ -157,8 +157,8 @@ import os, sys
|
|
| 157 |
from huggingface_hub import hf_hub_download
|
| 158 |
|
| 159 |
os.environ["BLINK_MODEL"] = "thegovind/blink-mimo-9b"
|
| 160 |
-
os.environ["BLINK_REVISION"] = "v1.
|
| 161 |
-
sys.path.insert(0, os.path.dirname(hf_hub_download("thegovind/blink-mimo-9b", "blink.py", revision="v1.
|
| 162 |
import blink
|
| 163 |
|
| 164 |
out = blink.decide(
|
|
@@ -178,13 +178,13 @@ print(out["answers"]["intent"]["probabilities"])
|
|
| 178 |
|
| 179 |
## Run it as a server
|
| 180 |
|
| 181 |
-
`serve.py` provides TypeSafe server-side SDK compatibility at `POST /v1/systemone` and lists the served model at `GET /v1/models`. Set `TYPESAFE_BASE_URL` to connect TypeSafe Python or JavaScript SDKs; JevBench's `typesafe` adapter and Decision Index's `http` engine work unchanged for text requests. `GET /healthz` reports startup checks. `v1.
|
| 182 |
|
| 183 |
See the [API reference](https://thegovind.github.io/blink/api/) for full details.
|
| 184 |
|
| 185 |
```sh
|
| 186 |
pip install "torch==2.13.0" "transformers==5.17.0" "flash-linear-attention==0.5.2" "accelerate>=1.1.0" safetensors huggingface_hub
|
| 187 |
-
hf download thegovind/blink-mimo-9b --revision v1.
|
| 188 |
python blink-mimo-9b/serve.py --model ./blink-mimo-9b --port 8000
|
| 189 |
# TypeSafe SDKs: export TYPESAFE_BASE_URL=http://127.0.0.1:8000 TYPESAFE_API_KEY=any
|
| 190 |
```
|
|
@@ -196,6 +196,8 @@ cd blink-mimo-9b
|
|
| 196 |
docker build -t blink-mimo-9b . && docker run --rm --gpus all -p 127.0.0.1:8000:8000 blink-mimo-9b
|
| 197 |
```
|
| 198 |
|
|
|
|
|
|
|
| 199 |
## Screenshots (opt-in, self-hosted)
|
| 200 |
|
| 201 |
Image input is off by default. Start `serve.py` with `--vision`, or set `BLINK_VISION=1` for direct `blink.py` calls. Image mode needs `torchvision==0.28.0`; it uses MiMo's unchanged tower.
|
|
@@ -230,7 +232,7 @@ Mind2Web shortlist recall is only 104/1,000: "given gold" excludes steps with no
|
|
| 230 |
- **FP32 reference coverage caveat:** On the Decision Index sample, a set of long workflow documents, and the public TypeSafe cases covered by the FP32 reference, batched answers passed the same numerical-parity checks against an FP32 reference as one-at-a-time answers, covering argmax agreement and probability differences. The FP32 reference could not run the 5 longest TypeSafe documents, so parity covered 170 of 354 TypeSafe questions; batched and one-at-a-time runs chose the same option on the other 184. A few near-tied answers can still flip.
|
| 231 |
- **Batching command:**
|
| 232 |
```sh
|
| 233 |
-
hf download thegovind/blink-mimo-9b serve.py blink.py --revision v1.
|
| 234 |
python blink-mimo-9b/serve.py --model ./blink-mimo-9b --port 8000 --batch-window-ms 5
|
| 235 |
```
|
| 236 |
- **Weights:** 18.8 GB in bf16 (8.95B text parameters, 9.41B total).
|
|
|
|
| 28 |
|---|---|
|
| 29 |
| Base model | [XiaomiMiMo/MiMo-V2.6-Distill-Qwen-9B](https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Distill-Qwen-9B) |
|
| 30 |
| Weights size | 18.8 GB bf16 (8.95B text parameters, 9.41B total) |
|
| 31 |
+
| Revision | v1.4 (code revision; weights identical to v1.0) |
|
| 32 |
+
| License | Weights: non-commercial research and evaluation only ([LICENSE.md](LICENSE.md)); code: Apache-2.0. |
|
| 33 |
|
| 34 |
## Results
|
| 35 |
|
|
|
|
| 130 |
|
| 131 |
### JevBench: public items only
|
| 132 |
|
| 133 |
+
No official JevBench score for blink has been published. The JevBench numbers are public-item development proxies, not official scores, and claim no rank or parity.
|
| 134 |
|
| 135 |
| Model | Easy | Standard | Hard | Hard ECE | Official score |
|
| 136 |
|---|---:|---:|---:|---:|---|
|
|
|
|
| 157 |
from huggingface_hub import hf_hub_download
|
| 158 |
|
| 159 |
os.environ["BLINK_MODEL"] = "thegovind/blink-mimo-9b"
|
| 160 |
+
os.environ["BLINK_REVISION"] = "v1.4"
|
| 161 |
+
sys.path.insert(0, os.path.dirname(hf_hub_download("thegovind/blink-mimo-9b", "blink.py", revision="v1.4")))
|
| 162 |
import blink
|
| 163 |
|
| 164 |
out = blink.decide(
|
|
|
|
| 178 |
|
| 179 |
## Run it as a server
|
| 180 |
|
| 181 |
+
`serve.py` provides TypeSafe server-side SDK compatibility at `POST /v1/systemone` and lists the served model at `GET /v1/models`. Set `TYPESAFE_BASE_URL` to connect TypeSafe Python or JavaScript SDKs; JevBench's `typesafe` adapter and Decision Index's `http` engine work unchanged for text requests. `GET /healthz` reports startup checks. `v1.4` updates this card and the revision pin only; `blink.py`, `serve.py` and the weights are unchanged from `v1.3`.
|
| 182 |
|
| 183 |
See the [API reference](https://thegovind.github.io/blink/api/) for full details.
|
| 184 |
|
| 185 |
```sh
|
| 186 |
pip install "torch==2.13.0" "transformers==5.17.0" "flash-linear-attention==0.5.2" "accelerate>=1.1.0" safetensors huggingface_hub
|
| 187 |
+
hf download thegovind/blink-mimo-9b --revision v1.4 --local-dir blink-mimo-9b
|
| 188 |
python blink-mimo-9b/serve.py --model ./blink-mimo-9b --port 8000
|
| 189 |
# TypeSafe SDKs: export TYPESAFE_BASE_URL=http://127.0.0.1:8000 TYPESAFE_API_KEY=any
|
| 190 |
```
|
|
|
|
| 196 |
docker build -t blink-mimo-9b . && docker run --rm --gpus all -p 127.0.0.1:8000:8000 blink-mimo-9b
|
| 197 |
```
|
| 198 |
|
| 199 |
+
Earlier vLLM checks passed, but the final read matched earlier answers and still failed hard ECE (0.122 vs 0.121). No MiMo opt-in server ships; use `serve.py`.
|
| 200 |
+
|
| 201 |
## Screenshots (opt-in, self-hosted)
|
| 202 |
|
| 203 |
Image input is off by default. Start `serve.py` with `--vision`, or set `BLINK_VISION=1` for direct `blink.py` calls. Image mode needs `torchvision==0.28.0`; it uses MiMo's unchanged tower.
|
|
|
|
| 232 |
- **FP32 reference coverage caveat:** On the Decision Index sample, a set of long workflow documents, and the public TypeSafe cases covered by the FP32 reference, batched answers passed the same numerical-parity checks against an FP32 reference as one-at-a-time answers, covering argmax agreement and probability differences. The FP32 reference could not run the 5 longest TypeSafe documents, so parity covered 170 of 354 TypeSafe questions; batched and one-at-a-time runs chose the same option on the other 184. A few near-tied answers can still flip.
|
| 233 |
- **Batching command:**
|
| 234 |
```sh
|
| 235 |
+
hf download thegovind/blink-mimo-9b serve.py blink.py --revision v1.4 --local-dir blink-mimo-9b
|
| 236 |
python blink-mimo-9b/serve.py --model ./blink-mimo-9b --port 8000 --batch-window-ms 5
|
| 237 |
```
|
| 238 |
- **Weights:** 18.8 GB in bf16 (8.95B text parameters, 9.41B total).
|