# joey-1 (slim)

> joey-1 is Base Labs' open-weight 2B decision model, a full fine-tune of Qwen3.5-2B that takes text and images and returns a probability for every option of typed questions about a state in one prefill. Base Labs is Baseten's research lab.

- Full: https://www.anchorterminal.com/tools/joey-1.md (~7,550 tokens) · this version ~2,080 tokens · JSON https://www.anchorterminal.com/tools/joey-1.json · canonical https://www.anchorterminal.com/tools/joey-1
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-30 · pricing https://www.anchorterminal.com/tools/joey-1#pricing · reviews https://www.anchorterminal.com/tools/joey-1#reviews
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

**C · 57.1/100 · rank #78 of 117 open-weight models · #16 in Decision models · not agent-ready · confidence low**


Assessment: A very small cousin for routing, triage and guardrail checks, answering several typed questions about one state, with text or images, as probabilities from one prefill. It fits an 8 GB GPU in BF16 but runs only through a patched third-party runtime. The risks are weak results on the Decision Index's new-domain tests and no safety results.

## Facts

- Kind: Open-weight model · vendor: Baseten · category: Decision models · legal entity: Baseten Labs, Inc. · provenance 50/100
- Packages: huggingface `baselabs/joey-1`
- Auth: None · pricing: Free · x402: no · licence: MIT, named in the card's metadata (license: mit) since the upload of 27 October 2026, with no LICENSE file. The base Qwen/Qwen3.5-2B is Apache-2.0
- Probe metrics: not measured yet (probes haven't run)
- Surface graded: The open weights at huggingface.co/baselabs/joey-1, read from the card and its first version, the files and their metadata, config.json, engine.py, setup.sh, serve.patch, the commits, discussions and eval results, Baseten's library page and launch blog, the Decision Index Space's data and README and Artificial Analysis's index page on 30 October 2026. Nothing was downloaded or run. Baseten's hosted Model API isn't graded here
- Built on: Qwen/Qwen3.5-2B (Apache-2.0), named in the card's metadata. A full fine-tune of the language model for one epoch (43,390 steps) over the same 6.21M-example Mix 8 as elephant-1, with the vision encoder frozen, per the card. The chat template is byte for byte the base's
- Relation to TypeSafe's Jev: None by ownership. It answers TypeSafe's System One question types (choice, noul, score), and Baseten serves it at /v1/systemone. The Jev Decision Index that ranks it is a community board in a personal Hugging Face Space that says it isn't affiliated with TypeSafe AI
- Model: 2.72B parameters in BF16 by the Hub's safetensors count (the card says 2B; the Qwen3.5-2B base counts 2.27B), 24 layers in a 3 to 1 mix of Gated DeltaNet and full attention, with the full-attention layers changed to a block-bidirectional mask so the state's cache is shared by every question, and the Qwen3.5 vision encoder. The answer is read from the option letters' logits at each question's slot, up to 256 slots
- Files: One model.safetensors (5.44 GB, BF16), tokenizer and configs, processor_config.json, chat_template.jinja, readout.json, a banner image and the serving bundle engine.py, setup.sh, serve.patch and constraints.txt. No pickle files. Hugging Face lists a SHA-256 for the LFS files. The weights haven't changed since the upload of 27 October
- Licence: MIT by the card's metadata, unchanged since the upload, with no LICENSE file and no copyright line. Baseten's library page says MIT and the blog says open weights. The Apache-2.0 base asks for its licence to travel with derivatives, and the repository carries no copy
- Runtimes: Only OmniJev's OneJev qev runtime at a pinned commit with the repository's serve.patch, through setup.sh. No released vLLM, SGLang, llama.cpp, Ollama or LM Studio route applies the block-bidirectional mask and slot readout, and Transformers loads the qwen3_5 architecture but not those changes
- Context: config.json keeps the base's 262,144 positions, but the card gives a maximum sequence length of 16,384 tokens and says longer requests are refused, not truncated. Baseten's blog says dedicated deployments unlock the full 262k context window
- Inputs and outputs: A state (text, optionally with images) and named questions, each choice (named options with descriptions), noul (yes or no, criteria optional) or score (ordered levels, lowest first). All questions share one prefill of the state. It returns P(yes) for noul, and the choice or score with a probability for every option otherwise. The card documents the request, the answer fields and the call in OneJev's qev. No text generation and no thinking
- Hardware: The card says one CUDA GPU on the pytorch/pytorch:2.8.0-cuda12.8-cudnn9-devel image. Trained on 2 nodes of 8 H100. The Decision Index ran it on one RTX PRO 6000. No memory figure from Base Labs
- Training data: Mix 8, 6.21M decision examples, 58.3% core decision skills, 16.1% safety and abstention, 16.1% judging and expert domains and 9.5% public decision data, per the card, with the rest in the Base Labs report. Not published. No cut-off

- Scores: Capability pending, Reach 60, Risk 55, Agent interface 70, Documentation and upkeep 54 · negative events -2 · total over the 7 assessed categories
- Why:  · Reach, Memory 30 of 30, the BF16 repository is 5.47 GB, 6.6 GB with a fifth added, so it fits 8 GB. · Risk, File safety 15 of 25, safetensors only, but serving it means running the repository's setup.sh and patch. · Agent interface, Read as a decision model, by what it takes and returns. · Documentation and upkeep, Model card 14 of 20, five of the seven items, no limitations or cut-off.
- Sources: 20, open questions: 6, both in the full twin
- Capabilities: inference.decision, model.open-weights
- JSON: https://www.anchorterminal.com/api/v1/tools/joey-1.json
- Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/joey-1.svg` or a link to https://www.anchorterminal.com/tools/joey-1 from a page on baseten.co or one of its subdomains, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin.
- Support: support@baseten.co; https://docs.baseten.co/; https://www.baseten.co/library/joey-1/; more in the full twin

## Before you call it

1. Start on a CUDA GPU in pytorch/pytorch:2.8.0-cuda12.8-cudnn9-devel with `hf download baselabs/joey-1 --local-dir joey-1 && bash joey-1/setup.sh`, which clones OneJev at 81ce62f, applies serve.patch and installs the Decision Index kit
2. Then call `DecisionEngine("baselabs/joey-1", device="cuda:0").decide(SystemOneRequest(state=..., questions=...))` from qev, as the card shows
3. Don't load it with stock vLLM or Transformers. They ignore the block-bidirectional attention in config.json's modeling_overrides and give probabilities the model wasn't trained for
4. Keep each request under 16,384 tokens, the trained length, or the engine refuses it
5. Expect weaker answers on domains unlike its training mix, and threshold on the returned probability before acting
6. Without hardware, Baseten's /v1/systemone serves it as decision-models/baseten-joey-2b-latest with a Baseten key

## Connect

```bash
hf download baselabs/joey-1 --local-dir joey-1 && bash joey-1/setup.sh   # clones OneJev at 81ce62f, applies serve.patch, installs the Decision Index kit (CUDA image pytorch/pytorch:2.8.0-cuda12.8-cudnn9-devel)
# then, in Python:
from qev.engine import DecisionEngine
from qev.schema import SystemOneRequest
engine = DecisionEngine("baselabs/joey-1", device="cuda:0")
resp, _ = engine.decide(SystemOneRequest(state=..., questions={...}))
```

## Similar tools

| Tool | Grade | Score | Shared capabilities | Slim |
| --- | --- | --- | --- | --- |
| JEV-27B-VL | C | 59.5 | inference.decision, model.open-weights | https://www.anchorterminal.com/tools/jev-27b-vl.min.md |
| mammoth-1 | D | 47.7 | inference.decision, model.open-weights | https://www.anchorterminal.com/tools/mammoth-1.min.md |
| elephant-1 | D | 47.6 | inference.decision, model.open-weights | https://www.anchorterminal.com/tools/elephant-1.min.md |
| Qwen3-Embedding-8B | BB | 74.7 | model.open-weights | https://www.anchorterminal.com/tools/qwen3-embedding-8b.min.md |
| Gemma 4 31B IT | BB | 74.1 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-31b-it.min.md |


## Panel reviews (0, desk reviews from public material, no calls made)

