Skip to content
Most AI tasks no longer need a frontier model Read launch post

OpenAI Decisions → SIE

SIE serves OpenAI’s Decisions format at POST /v1/decisions. The OpenAI SDK’s client.decisions.create runs on SIE with two changes: the client’s base URL and key, and the model. Predicate, choice and score questions keep their shape, and the answers come back in question order, as they do from OpenAI.

client = OpenAI()
client = OpenAI(api_key="sk-sie-…", base_url="https://api.superlinked.com/v1")

Then model="gpt-6-luna" becomes model="fastino/GLiNER2.5-Decide", or another decision model.

from openai import OpenAI
client = OpenAI()
decision = client.decisions.create(
model="gpt-6-luna",
input="I was charged twice. Please refund one charge today.",
questions=[
{"type": "predicate", "name": "refund", "instructions": "Does the customer request a refund?"},
{
"type": "choice",
"name": "team",
"instructions": "Which team should handle this?",
"choices": [{"value": "billing"}, {"value": "technical"}],
},
{
"type": "score",
"name": "urgency",
"instructions": "How urgent is the request?",
"levels": [{"label": "can wait"}, {"label": "today"}],
},
],
)
refund, team, urgency = decision.answers
print(refund.probability, team.choice, urgency.score)
from openai import OpenAI
client = OpenAI(api_key="sk-sie-…", base_url="https://api.superlinked.com/v1")
decision = client.decisions.create(
model="fastino/GLiNER2.5-Decide",
input="I was charged twice. Please refund one charge today.",
questions=[
{"type": "predicate", "name": "refund", "instructions": "Does the customer request a refund?"},
{
"type": "choice",
"name": "team",
"instructions": "Which team should handle this?",
"choices": [{"value": "billing"}, {"value": "technical"}],
},
{
"type": "score",
"name": "urgency",
"instructions": "How urgent is the request?",
"levels": [{"label": "can wait"}, {"label": "today"}],
},
],
)
refund, team, urgency = decision.answers
print(refund.probability, team.choice, urgency.score)
  • Input. A string, or text messages with user, developer, system or assistant roles.
  • Questions. Predicate, choice and score questions, up to 200 per request within the model’s window. Answers keep the order of the questions, including unnamed questions and repeated names.
  • Choices. Up to 255 per question. A value is a string or a boolean, and true stays distinct from "true".
  • Scores. 1 to 10 levels. An answer carries each level’s probability and the expected level.
  • Errors. OpenAI error envelopes and retry headers, so the SDK raises its usual exception classes.
  • Models. SIE model ids replace OpenAI’s. The probabilities come from the SIE model you choose.
  • Text only. SIE’s decision models read text. A request with images, audio or tool calls gets a 400.
  • Input that does not fit. A request longer than the model’s window gets a 400. SIE never truncates it. Use a model with a longer window.

/v1/decisions answers with SIE’s decision models. Each reads a fixed window of tokens per row:

ModelWindowWhat shares it
fastino/GLiNER2.5-Decide512 tokensAll of a request’s questions (at most 256 tokens) and the input
fastino/GLiNER2.5-Decide-1B2,048 tokensAll of the questions (at most 512 tokens) and the input; for longer text
fastino/GLiNER2.5-multi-Decide2,048 tokensAs Decide-1B, multilingual
convaiinnovations/laya-typed-decisions1,024 tokensOne question and the input, per question
convaiinnovations/laya-multilingual1,024 tokensAs above, multilingual
convaiinnovations/laya512 tokensAs above

GLiNER2.5-Decide runs on SIE Serverless. Self-hosted SIE serves all six.

docker run -p 8080:8080 ghcr.io/superlinked/sie-server:latest-cpu-transformers5

Point the client at http://localhost:8080/v1 with any key: a local server checks none. The first request downloads and loads the model. The decisions-local example in the SIE repository checks every answer type, question ordering, the async client and the SDK’s error classes.

Using TypeSafe’s System One API instead? See TypeSafe → SIE. For OpenAI embeddings, see OpenAI → SIE.

Contact us

Tell us about your use case and we'll get back to you shortly.