--- pipeline_tag: zero-shot-classification license: apache-2.0 base_model: Qwen/Qwen3.5-0.8B library_name: transformers tags: - zero-shot-classification - decision-model - classification - system-one - multimodal - vision - video - safetensors --- ![d3-edge: Decision 3.0](assets/banner.png) # d3-edge **d3-edge** is the 0.6B multimodal foundation decision model of Decision 3.0, the decision models of [vLLM Semantic Router](https://github.com/vllm-project/semantic-router). Give it an input (text or JSON, optionally with images and videos) and the questions you need answered: pick one of several options, say yes or no, or rate on a scale. It answers them all in one call and returns a probability for every answer, without generating text. | | | | --- | --- | | **Parameters** | 0.59B, including the 0.10B vision encoder | | **Inputs** | Text or JSON, plus images and videos (several per request) | | **Decision types** | Choice · Yes / No · Score | | **License** | Apache-2.0 | ## Highlights - **Jev Decision Index 0.3, public suite: 28.82**, measured with the official 0.3 kit on the released weights: all 140,178 public requests answered, none unsupported. - **+12.1 on the public suite over Decision 2.0** (its 0.6B model: 16.68 on the board), ahead in all five areas. - **Reads images:** multiple images per request (PNG, JPEG or WebP), given as paths, URLs, PIL images or base64 data URLs; every question of the request sees all of them. - **Reads videos:** multiple videos per request (MP4, WebM, MOV or MKV), given as paths, URLs, base64 data URLs or frame arrays, read at 2 frames per second; **Perception Test (multiple-choice video QA): 46.6** (internal evaluation). - **Speed:** a median of 6.7 ms for a text request, 41.9 ms for a request with an image and 308.3 ms for a request with a 10-second video, on one AMD Instinct MI325X GPU, one request at a time. - **Many questions, one call:** Choice, Yes / No and Score questions about the same input are answered together, each from its own forward pass over the input, with a probability for every option. ## Quickstart ```bash pip install "transformers==5.17.0" torch torchvision pillow opencv-python-headless safetensors accelerate pip install flash-linear-attention # optional: fast GPU kernels for the linear-attention layers ``` ```python import json from huggingface_hub import hf_hub_download from transformers import AutoModel model = AutoModel.from_pretrained("vllm-sr/d3-edge", trust_remote_code=True) # Text result = model.system_one( state="The order arrived damaged yesterday. The customer has a receipt and asks for a replacement today.", questions={ "route": { "type": "choice", "instructions": "Which team should handle this request?", "criteria": { "returns": "Refunds, replacements and damaged deliveries", "billing": "Payments, invoices and charges", "technical": "Product setup and faults" } }, "receipt": { "type": "noul", "instructions": "Does the customer have a receipt?" }, "urgency": { "type": "score", "instructions": "How urgent is this request?", "criteria": [ "Routine", "Soon", "Today" ] } }, ) print(json.dumps(result["answers"], indent=2)) # Text and an image (or several) receipt = hf_hub_download("vllm-sr/d3-edge", "assets/example-receipt.png") result = model.system_one( state="The customer says the blender arrived cracked and attached the receipt.", images=[receipt], # local paths, http(s) URLs, PIL images or base64 data URLs questions={ "route": { "type": "choice", "instructions": "Which team should handle this request?", "criteria": { "returns": "Refunds, replacements and damaged deliveries", "billing": "Payments, invoices and charges", "technical": "Product setup and faults" } }, "on_receipt": { "type": "noul", "instructions": "Does the receipt list the blender?" }, "payment": { "type": "choice", "instructions": "How was the order paid?", "criteria": { "card": None, "cash": None, "gift card": None } } }, ) print(json.dumps(result["answers"], indent=2)) # Text and a video (or several) clip = hf_hub_download("vllm-sr/d3-edge", "assets/example-video.mp4") result = model.system_one( state="A short clip from a test camera.", videos=[clip], # local paths, http(s) URLs, base64 data URLs or frame arrays questions={ "direction": { "type": "choice", "instructions": "Which way does the square move?", "criteria": { "right": "From left to right", "left": "From right to left", "still": "It does not move" } }, "color_change": { "type": "noul", "instructions": "Does the square change color?" } }, ) print(json.dumps(result["answers"], indent=2)) # Or as a pipeline: # transformers.pipeline("decision", model="vllm-sr/d3-edge", trust_remote_code=True)(state=..., questions=..., images=..., videos=...) ``` Images go before the text of the request, each read at up to 1.6 megapixels; videos follow the images, read at 2 frames per second (at most 32 frames spread over the whole video, each at up to 0.2 megapixels). Every question of the request sees all of them. ## Run with vLLM Semantic Router [vLLM Semantic Router](https://github.com/vllm-project/semantic-router) serves Decision 3.0 natively in Engine mode, which runs one model behind the System One API on your own machine. Its answers match this package's own `d3_server.py` exactly, for text, images and videos (measured on AMD Instinct MI325X). ```bash curl -fsSL https://vllm-sr.ai/install.sh | bash -s -- --channel dev --no-launch export PATH="$HOME/.local/bin:$PATH" vllm-sr serve -e vllm-sr/d3-edge ``` The platform is detected automatically; choose one with `--platform auto|cpu|cuda|rocm` (default `auto`). Engine mode and Decision 3.0 are in the development channel (`--channel dev`) until a stable vLLM Semantic Router release includes them. The first start pulls the image for your machine and downloads the model. Then ask questions about a request: ```bash curl -s localhost:8899/v1/systemone -H 'content-type: application/json' -d '{ "model": "vllm-sr/d3-edge", "state": "Write a Python function that merges two sorted lists.", "questions": { "kind": {"type": "choice", "instructions": "What kind of work is this?", "criteria": {"code": "Writing or fixing code", "math": "Mathematics", "chat": "Anything else"}}, "reasoning": {"type": "noul", "instructions": "Does answering this need multi-step reasoning?"} } }' ``` Send images as base64 data URLs (PNG, JPEG or WebP) in `images` and videos (MP4, WebM, QuickTime or Matroska) in `videos`; every question sees them: ```bash curl -s localhost:8899/v1/systemone -H 'content-type: application/json' --data-binary @- <d3-edge: internal evaluation. Others: live board data, text 2026-10-10, vision 2026-10-09. ## License Apache-2.0 ([LICENSE](LICENSE)). Built on [Qwen/Qwen3.5-0.8B](https://huggingface.co/Qwen/Qwen3.5-0.8B) (Apache-2.0). ## Citation ```bibtex @misc{d3_edge_2026, title = {{d3-edge}: A Multimodal Foundation Decision Model}, author = {{vLLM Semantic Router Team}}, year = {2026}, howpublished = {\url{https://huggingface.co/vllm-sr/d3-edge}} } ``` Trained on AMD Instinct MI325X GPUs.