Quickstart
decido-ai 1.1 · about 5 minutes, plus a one-time 1.8 GB model download
From pip install to a calibrated decision, your own API server, and a tool your agent can call. Run the
blocks in order in one terminal and each works as written (macOS 13+ on Apple Silicon, Linux x86_64 or aarch64, Windows 10+ x86_64; Python 3.9+, MCP: 3.10+). Where Windows differs, a
Windows (PowerShell) line sits under the block.
1Install
python3 -m venv .venv && source .venv/bin/activate && pip install decido-ai
Windows (PowerShell)
python -m venv .venv .venv\Scripts\activate pip install decido-ai
If PowerShell refuses to run the activate script: Set-ExecutionPolicy -Scope CurrentUser RemoteSigned, then activate again.
A virtual environment avoids "externally-managed-environment" errors and a missing pip; reopen it later
with source .venv/bin/activate (Windows: .venv\Scripts\activate). Prebuilt for macOS 13+ on Apple Silicon, Linux x86_64 and aarch64, and Windows 10+ x86_64, nothing to compile. On a Mac
it uses the GPU (Metal) automatically.
2Your first decision
Give it a document and questions (yes/no, pick one, or an ordered scale) and get a probability for every answer:
from decido import Decido
m = Decido("decido-ai/decido-1-fast-1.7b") # downloads once (1.8 GB), then runs locally
print(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"]},
},
))
Prints something like {'refund': {'yes': 0.99, 'no': 0.01}, 'team': {'billing': 0.94, …}, 'urgency': {…}}.
The first call downloads the model once; after that it runs offline.
Or from the command line
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"
Windows (PowerShell)
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"3Run your own API server
A Jev 1.13-compatible HTTP API on your machine (binds to 127.0.0.1; keeps running):
decido serve decido-ai/decido-1-fast-1.7b --port 8080
In another terminal:
curl -s localhost:8080/v1/systemone -H "content-type: application/json" -d '{
"state": "Customer: I was charged twice for order 4821. Please refund one of the charges today.",
"questions": {
"refund": {"type": "noul", "instructions": "Is the customer asking for a refund?"},
"team": {"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"billing": "", "shipping": "", "tech": ""}}
}
}'
Windows (PowerShell)
Invoke-RestMethod http://localhost:8080/v1/systemone -Method Post -ContentType "application/json" -Body '{
"state": "Customer: I was charged twice for order 4821. Please refund one of the charges today.",
"questions": {
"refund": {"type": "noul", "instructions": "Is the customer asking for a refund?"},
"team": {"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"billing": "", "shipping": "", "tech": ""}}
}
}' | ConvertTo-Json -Depth 6To require a key for your server, set DECIDO_SERVER_KEY before starting it; clients then send
Authorization: Bearer <that key>. Jev SDK users: TypeSafeClient(base_url="http://127.0.0.1:8080", api_key="local")
and pip install "decido-ai[server]"
(the SDK zstd-compresses larger requests).
4Or use the hosted API (no download)
Get a free evaluation key on the playground (sign in with Google; 25 requests/day, Decido-1-Fast, demo size limits), then:
export DECIDO_API_KEY=dk_YOUR_KEY # your getdecido.ai key: used only for the hosted API
Windows (PowerShell)
$env:DECIDO_API_KEY="dk_YOUR_KEY" # your getdecido.ai key: used only for the hosted API
from decido import Decido
m = Decido("hosted:decido-1-fast") # sends DECIDO_API_KEY to getdecido.ai; nothing to download
print(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?"}))
Same decide() / predict() as the local models. Errors raise decido.HostedError
(.status, .retry_after). Plain HTTP and curl: see the API docs.
5Give it to your agent
MCP: Claude Desktop, Cursor and other MCP clients (needs Python 3.10+)
pip install "decido-ai[mcp]" # needs Python 3.10+ decido pull decido-ai/decido-1-fast-1.7b which decido
Windows (PowerShell)
pip install "decido-ai[mcp]" # needs Python 3.10+ decido pull decido-ai/decido-1-fast-1.7b where.exe decido
Claude Desktop: Settings → Developer → Edit Config (claude_desktop_config.json). Cursor: ~/.cursor/mcp.json.
Use the path printed by which decido (Windows: where.exe decido; write backslashes in JSON as \\, e.g. "C:\\Users\\you\\.venv\\Scripts\\decido.exe"):
{
"mcpServers": {
"decido": {
"command": "/full/path/to/bin/decido",
"args": ["mcp", "--model", "decido-ai/decido-1-fast-1.7b"]
}
}
}
The agent gets one read-only tool, decide(document, questions), over stdio (no network port).
Hosted instead of a local model:
{
"mcpServers": {
"decido": {
"command": "/full/path/to/bin/decido",
"args": ["mcp", "--hosted"],
"env": {"DECIDO_API_KEY": "dk_YOUR_KEY"}
}
}
}
LangChain tool
pip install langchain-core
from langchain_core.tools import tool
from decido import Decido
m = Decido("decido-ai/decido-1-fast-1.7b")
@tool
def probability_yes(document: str, question: str) -> float:
"""Probability (0-1) that the answer to a yes/no question about the document is yes."""
return m.decide(document, question)["answer"]["yes"]
print(probability_yes.invoke({"document": "Customer: please refund my second charge.", "question": "Is this a refund request?"}))
Function calling (OpenAI-style tool schema)
Pass DECIDE_TOOL in your LLM call's tools; when the model calls it, run it locally. This is the Chat
Completions shape; the Responses API takes the same fields flat: {"type": "function", **DECIDE_TOOL["function"]}.
from decido import Decido
DECIDE_TOOL = {
"type": "function",
"function": {
"name": "decide",
"description": "Calibrated decision about a document: returns a probability for every possible answer.",
"parameters": {
"type": "object",
"properties": {
"document": {"type": "string", "description": "The text to decide about."},
"questions": {
"type": "object",
"description": 'id -> a yes/no question, or {"q": "...", "options": [...]}, or {"q": "...", "scale": [...]}',
"additionalProperties": {"anyOf": [{"type": "string"}, {"type": "object"}]},
},
},
"required": ["document", "questions"],
},
},
}
m = Decido("decido-ai/decido-1-fast-1.7b")
def run_tool_call(arguments: dict) -> dict: # call this when the LLM asks for the "decide" tool
return m.decide(arguments["document"], arguments["questions"])
print(run_tool_call({"document": "Agent plan: delete the production database.", "questions": {"safe": "Is this action safe?"}}))
6Which model?
| model | pick it for | six-benchmark score | runs on | speed (M4 Pro, 5 questions, 1k-token document) |
|---|---|---|---|---|
Decido-1-Ultradecido-ai/decido-1-ultra-0.6b | very high volume | 62.2 | laptop, ~4 GB RAM | 0.41 s CPU · 0.13 s Mac GPU |
Decido-1-Fastdecido-ai/decido-1-fast-1.7b | checks inside agent loops (used above; also hosted) | 73.0 | laptop, ~8 GB RAM | 0.64 s CPU · 0.30 s Mac GPU |
Decido-1decido-ai/decido-1-26b-a4b | accurate decisions on a laptop CPU | 85.4 (Jev 1.13: 83.9) | laptop, ~30 GB RAM · GPU | 4.1 s CPU · 1.1 s Mac GPU |
Decido-1-Maxdecido-ai/decido-1-max-26b-a4b | the hardest calls; reasons first | 89.2 (GPU score) | laptop, ~30 GB RAM (slow) | ~28 s CPU · ~11 s Mac GPU per question |
Swap the model name in any example above. All six models, with per-benchmark results: models · research.
7Troubleshooting
decido doctor
decido doctorchecks the runtime, the Mac GPU / NVIDIA GPU and versions. Paste its output when you ask for help.- First call slow? That is the one-time download;
decido pull <model>fetches it ahead of time. - Windows 10+ (x86_64): prebuilt like macOS and Linux; use the Windows (PowerShell) lines under the steps above.
- Intel Mac and other platforms: the runtime is compiled on first use (a few minutes, once; needs a C++ compiler).
- NVIDIA GPU:
pip install "decido-ai[gpu]"(Python 3.10+), thenDecido(model, device="cuda").
Still stuck? founders@getdecido.ai