decido
Calibrated decisions from a document — on a laptop CPU or a GPU. Give Decido a document (a ticket, email, record, policy, JSON object …) and questions — yes/no, pick-one, or an ordered scale — and it returns a probability for every answer. This package runs the open Decido 1 models from the Hugging Face Hub.
- Calibrated: probabilities you can threshold, not just a label (temperatures fitted on held-out tasks).
- Local: the CPU models run on a laptop (no GPU, no API key, no data leaves the machine); Apple Silicon needs no compiler.
- Deterministic: the same input gives bit-identical output on a given CPU build.
- Jev-compatible:
decido serveexposes the Jev 1.13 (TypeSafe "System One") HTTP API, so existing Jev clients work unchanged.
Install
pip install decido-ai
decido build-runtime # only on Linux / Intel Macs (one-time, needs cmake + a C++ compiler); Apple Silicon Macs: skip
GPU extras: pip install "decido-ai[gpu]" (transformers), "decido-ai[xl]" (Decido-1-XL), "decido-ai[pro]" (vLLM, Decido-1-Pro).
Quick start
from decido import Decido
m = Decido("decido-ai/decido-1-fast-1.7b") # downloads once from the Hub, then runs locally
m.decide(
"Customer: I was charged twice for order 4821. Please refund one of the charges today.",
{
"refund": "Is the customer asking for a refund?", # yes / no
"team": {"q": "Which team should handle this?", "options": ["billing", "shipping", "tech"]},
"urgency": {"q": "How urgent is it?", "scale": ["low", "normal", "urgent"]},
},
)
# -> {'refund': {'yes': 0.99, 'no': 0.01}, 'team': {'billing': 0.94, 'shipping': 0.03, 'tech': 0.03},
# 'urgency': {'low': 0.24, 'normal': 0.44, 'urgent': 0.32}}
Question formats
| you write | question type |
|---|---|
"Is the customer asking for a refund?" |
yes / no |
{"q": "Which team?", "options": ["billing", "shipping"]} |
pick one |
{"q": "Which team?", "options": {"billing": "charges, refunds", "shipping": "delivery"}} |
pick one, with option descriptions |
{"q": "How urgent?", "scale": ["low", "normal", "urgent"]} |
ordered scale |
{"q": "...", "yes": "what yes means", "no": "what no means"} |
yes / no with definitions |
m.predict({"state": ..., "questions": ...}) takes the full Jev 1.13 wire format (noul, choice with 2–255 options, score
with 2–10 levels) and returns Jev-style answers (noul; choice + probabilities + confidence; score + legend). The
document may be text or JSON and is treated as untrusted data (instructions inside it are not followed).
Command line and HTTP server
decido models # the family, with scores and latency
decido run decido-ai/decido-1-fast-1.7b "Customer: charged twice, refund please" \
-q refund="Is a refund requested?" -q team="Which team?|billing,shipping,tech" -q urgency="How urgent?|scale:low,normal,urgent"
decido run decido-ai/decido-1-26b-a4b --request request.json # wire format in, wire format out
decido serve decido-ai/decido-1-26b-a4b --port 8080 --workers 2 # POST /v1/systemone, GET /v1/models, GET /health
The server binds to 127.0.0.1 by default; set DECIDO_API_KEY to require Authorization: Bearer <key>. Jev SDK users:
TYPESAFE_BASE_URL=http://127.0.0.1:8080.
Models
| model | built on | runs on | six-group score (Jev 1.13 = 83.85) | latency (M4 Pro CPU, 1k-token document, 5 questions) |
|---|---|---|---|---|
| decido-1-26b-a4b | Gemma-4-26B-A4B | laptop CPU (~30 GB RAM) · GPU | 85.38 | 4.1 s |
| decido-1-fast-1.7b | Qwen3-1.7B | laptop CPU (~3 GB RAM) | 73.01 | 0.64 s |
| decido-1-ultra-0.6b | Qwen3-0.6B | laptop CPU (~1.5 GB RAM) | 62.16 | 0.41 s |
| decido-1-think-26b-a4b | Gemma-4-26B-A4B | GPU · laptop CPU (slow) | 88.71 (GPU) | ~19 s / question |
| decido-1-xl | DeepSeek-V4-Flash | 4× A100 80 GB | 87.25 (GPU) | — |
| decido-1-pro | Decido-1 + Think + Qwen3.8-27B | GPU | 89.57 (GPU) | — |
Six-group score = mean over JevBench, Kev, OpenJev, Nimble, VitaminC and MASSIVE (the benchmark groups used to compare open reproductions of TypeSafe's Jev 1.13; Jev's number is its published run). Per-group results, calibration (Brier / ECE), option-order robustness, training details, disclosures and limitations are on each model card.
Platforms
- macOS on Apple Silicon (M1–M4): prebuilt CPU runtime included (llama.cpp; picks the best kernels for your chip).
- Linux / Intel macOS: run
decido build-runtimeonce — it downloads llama.cpp at the pinned commit and compiles the runtime into~/.cache/decido/runtime(cmake viapip install cmake, plus a C++ compiler). - GPU (CUDA):
Decido(..., device="cuda")with thegpuextra runs the bf16 weights with transformers.
Environment variables: DECIDO_THREADS (CPU threads), DECIDO_VERBOSE=1 (runtime logs), DECIDO_VSERVE (custom runtime binary),
HF_HOME (model download location).
License
Apache-2.0. The CPU runtime links llama.cpp (MIT). Model licences: see each model card (Apache-2.0; Decido-1-XL: MIT).
Metadata
Release files for decido-ai 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| decido_ai-1.0.1.tar.gz | 71.0 kB | Without provenance | Details for decido_ai-1.0.1.tar.gz |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| decido_ai-1.0.1-py3-none-macosx_13_0_arm64.whl | Python 3 | none | macOS 13.0+ ARM64 | Details for decido_ai-1.0.1-py3-none-macosx_13_0_arm64.whl |
| decido_ai-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for decido_ai-1.0.1-py3-none-any.whl |
Total release size: 3.2 MB
Release files / decido_ai-1.0.1.tar.gz
| Download URL | decido_ai-1.0.1.tar.gz |
|---|---|
| Size | 71.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa0b1a541ceabf3fbfa471dd7476837ec10500ed8a5a720a5916fe386cf9d6e5
|
|
BLAKE2b-256 checksum How to use checksums |
c927b395a5ea9cc2e8c0850d6a9b909bfd7eeef73e1ae83b2151f92ede2986c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.16+meta
|
Release files / decido_ai-1.0.1-py3-none-macosx_13_0_arm64.whl
| Download URL | decido_ai-1.0.1-py3-none-macosx_13_0_arm64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Python 3 macOS 13.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
cde15be10c138923756abc57152959a79aacfc9632da925de4dbc7dac1e4b748
|
|
BLAKE2b-256 checksum How to use checksums |
6672ebb573b88eded2f1c48d0ce4ad56cb00c7b16c3f2975dfadd91049aa735a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.16+meta
|
Release files / decido_ai-1.0.1-py3-none-any.whl
| Download URL | decido_ai-1.0.1-py3-none-any.whl |
|---|---|
| Size | 82.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f38fab79664cd68d007ed1bccb571ca78df641f0ee4b09d445cbb0ffae1efc7f
|
|
BLAKE2b-256 checksum How to use checksums |
a474b353f1f8ab372054913f43d98bbacb5b02c572cbf0e2e83693c731bfd02c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.16+meta
|
Security for decido-ai 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.