DecisionUI
Turn LLM API into Decision Model API.
DecisionUI is a lightweight Python server that sits in front of a Chat Completions endpoint (vLLM, SGLang, Ollama, a hosted API, etc.) and exposes it through two decision APIs:
- SystemOne API
- OpenAI Decisions API
Instead of parsing free-form text, you ask structured questions and get back the chosen option along with its probabilities.
Installation
pip install decision-ui
Quick Start
1. Serve a model with any OpenAI-compatible inference engine, for example vLLM:
vllm serve google/gemma-4-31B-it --host localhost --port 8000
2. Launch DecisionUI and point it at the model server:
decision-ui serve http://localhost:8000 --host localhost --port 9000
3. Use a LLM as a Decision Model
from typesafe_sdk import Choice, TypeSafeClient
with TypeSafeClient(base_url="http://localhost:9000", api_key="EMPTY") as client:
decision = client.system_one(
model="google/gemma-4-31B-it",
state={"document": "I was charged twice. Please fix this ASAP."},
questions={
"category": Choice(
instructions="What is this ticket about?",
criteria={"billing": None, "technical": None, "other": None},
),
},
)
print(decision.choices["category"].probabilities)
Example output:
{"billing": 0.94, "technical": 0.03, "other": 0.03}
How it works
Your app ──► DecisionUI (:9000) ──► Chat Completions server (:8000) ──► LLM
SystemOne / Decisions API e.g. vLLM
CLI Reference
decision-ui serve <backend_url> [--host HOST] [--port PORT]
| Option | Description | Default |
|---|---|---|
backend_url |
Base URL of the OpenAI-compatible model server. | required |
--host |
Interface DecisionUI binds to. | localhost |
--port |
Port DecisionUI listens on. | 9000 |
Metadata
Release files for decision-ui 0.2.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 |
|---|---|---|---|---|
| decision_ui-0.2.1.tar.gz | 8.3 kB | With provenance | Details for decision_ui-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| decision_ui-0.2.1-py3-none-any.whl | Python 3 | none | any | Details for decision_ui-0.2.1-py3-none-any.whl |
Total release size: 23.3 kB
Release files / decision_ui-0.2.1.tar.gz
| Download URL | decision_ui-0.2.1.tar.gz |
|---|---|
| Size | 8.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d3155c2174270685d855a37de1fa7f50ca66e10d3cf0de5e891a7020c0e51670
|
|
BLAKE2b-256 checksum How to use checksums |
39f3d35e25bb95292fb058ace0643cf72c3ac59a48a0c8625c95f0f9fc57b6d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logRelease files / decision_ui-0.2.1-py3-none-any.whl
| Download URL | decision_ui-0.2.1-py3-none-any.whl |
|---|---|
| Size | 15.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f5e5e45593f2d77db607b11232ff4005ec93e3dbec36cd06d5eb5312afcebb76
|
|
BLAKE2b-256 checksum How to use checksums |
71fdeb5f62384d81e5661ce9856b7dcd8deac76b9628a4eea8c28c589a351e7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logSecurity for decision-ui 0.2.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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for decision_ui-0.2.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logA 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.