Metadata-Version: 2.3
Name: decision-ui
Version: 0.1.0
Summary: Add your description here
Author: panuthept
Author-email: panuthept <falcon_270394@hotmail.co.th>
Requires-Dist: fastapi>=0.143.0
Requires-Dist: openai>=3.29.0
Requires-Dist: pydantic>=2.14.1
Requires-Dist: transformers>=5.19.0
Requires-Dist: typer>=0.27.3
Requires-Dist: typesafe-sdk>=0.7.4
Requires-Dist: uvicorn>=0.54.0
Requires-Python: >=3.14
Description-Content-Type: text/markdown

# DecisionUI
A decision interface server, compatible with SystemOne API and OpenAI's Decisions API.

## Usage
Install DecisionUI
```bash
pip install decision-ui
```

Deploy the model using any inference engine, e.g., vLLM.
```bash
vllm serve google/gemma-4-31B-it --host localhost --port 8000
```

Start a DecisionUI server
```bash
decision-ui serve --base_url http://localhost:8000 --host localhost --port 9000
```

Use it via TypeSafeClient
```python
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)
```