Skip to main content

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 serve exposes 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: pip install "decido-ai[gpu]" (adds torch + transformers), then Decido(model, device="cuda").

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), most accurate ~19 s / question
decido-1-xl (coming soon) DeepSeek-V4-Flash 4× A100 80 GB 87.25 (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-runtime once (~3 min) — it downloads llama.cpp at the pinned commit and compiles the runtime into ~/.cache/decido/runtime (cmake via pip install cmake, plus a C++ compiler). A prebuilt Linux runtime is coming in the next release.
  • GPU (CUDA): Decido(..., device="cuda") with the gpu extra 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.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for decido-ai 1.0.2
File Size Uploaded Provenance Actions
decido_ai-1.0.2.tar.gz 71.2 kB Without provenance Details for decido_ai-1.0.2.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for decido-ai 1.0.2
File Interpreter ABI Platform Actions
decido_ai-1.0.2-py3-none-macosx_13_0_arm64.whl Python 3 none macOS 13.0+ ARM64 Details for decido_ai-1.0.2-py3-none-macosx_13_0_arm64.whl
decido_ai-1.0.2-py3-none-any.whl Python 3 none any Details for decido_ai-1.0.2-py3-none-any.whl

Total release size: 3.2 MB

Release files / decido_ai-1.0.2.tar.gz

Download URL decido_ai-1.0.2.tar.gz
Size 71.2 kB
Tags Source
SHA-256 checksum
How to use checksums
368c4de273cb37c54887d86ac5946a91ecab0dc8d9d35701d621fa3d4c7b235e
BLAKE2b-256 checksum
How to use checksums
a7004e8b7b2d15cb1d901f0ed36a5c58dea8bcdd444b5cf97830db79e4551995
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.2-py3-none-macosx_13_0_arm64.whl

Download URL decido_ai-1.0.2-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
237304ffd7130ffe0d42f4a31dc9e7aa1260259d8b7c3a6051057146f7cedf6a
BLAKE2b-256 checksum
How to use checksums
d47f9d1ec0cdefe457de0a18236da0ef767f86c2446722c29eaa37957ce52793
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.2-py3-none-any.whl

Download URL decido_ai-1.0.2-py3-none-any.whl
Size 82.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
40ac74611c4b34678de1cc9b7e5f82b2bc3926853ee9d19c57f915a2d14c7951
BLAKE2b-256 checksum
How to use checksums
dec64f96449b02eb984aedea02c6756ae06818035860b6b14afe48cd998680e5
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.2

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page