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

Classify text 74x faster than GPT‑6 Luna, 85% cheaper

Send a message and the categories your app uses, such as support topics or next actions. SIE, an open-source inference engine, serves GLiNER2.5 Decide, an open classifier that scores every category in one call, so your code acts on the top one with no prompt to write and no reply to parse.

SIE GLiNER2.5 Decide

Right category on top
Message
I've been charged more than once for the same transaction
Your categories Score
  1. duplicate card payment 0.81
  2. request a card payment refund 0.07
  3. card payment fee 0.05
  4. unrecognized card payment 0.02
  5. reverted card payment 0.01
  6. declined card payment 0.01
  7. pending card payment 0.01
  8. card not working 0.01
Median time per message 13.1 ms

A language model API makes your app wait 0.97 to 1.03 seconds for one category

Message
There's a recent charge on my card that I know I didn't make because I've never seen the name before. Can we investigate this?

GPT-6 Luna (no reasoning)

Over 100 ms
Category returned

unrecognized card payment

Median wait 0.97 s 100 ms to feel instant

Claude Haiku 5.5 (thinking off)

Over 100 ms
Category returned

unrecognized card payment

Median wait 1.03 s 100 ms to feel instant

74x faster than GPT‑6 Luna at 91% of its accuracy, 85% cheaper

Labelled correctly
400 messages ↑
GPT-6.1 Sol
GPT-6.1 Sol 97.3%
Claude Sonnet 5.5
Claude Sonnet 5.5 96.3%
GPT-6 Luna (high reasoning)
GPT-6 Luna (high reasoning) 95.8%
Claude Haiku 5.5 (thinking off)
Claude Haiku 5.5 (thinking off) 95.0%
GPT-6 Luna (no reasoning)
GPT-6 Luna (no reasoning) 93.8%
SIE GLiNER2.5 Decide
SIE GLiNER2.5 Decide 87.5%
Time per message
median ↓
SIE GLiNER2.5 Decide
13.1 ms SIE GLiNER2.5 Decide
GPT-6 Luna (no reasoning)
0.97 s GPT-6 Luna (no reasoning)
Claude Haiku 5.5 (thinking off)
1.03 s Claude Haiku 5.5 (thinking off)
Claude Sonnet 5.5
1.13 s Claude Sonnet 5.5
GPT-6 Luna (high reasoning)
1.35 s GPT-6 Luna (high reasoning)
GPT-6.1 Sol
1.48 s GPT-6.1 Sol
Cost per 1,000 messages
USD ↓
SIE GLiNER2.5 Decide
$0.0035 SIE GLiNER2.5 Decide
GPT-6 Luna (no reasoning)
$0.0239 GPT-6 Luna (no reasoning)
GPT-6 Luna (high reasoning)
$0.0372 GPT-6 Luna (high reasoning)
Claude Haiku 5.5 (thinking off)
$0.0486 Claude Haiku 5.5 (thinking off)
GPT-6.1 Sol
GPT-6.1 Sol $0.525
Claude Sonnet 5.5
Claude Sonnet 5.5 $1.04
Tested
400 customer messages from public test sets, 8 categories each
Scored
A message is right when the model picks the dataset's category
Prices
OpenAI and Anthropic list prices; SIE at its Serverless price
Timing
SIE timed on a GPU server with the client alongside; providers over their public APIs

Send your categories with the message, get a score for each

from sie_sdk import SIEClient
​
client = SIEClient(api_key="sk-sie-…")
​
result = client.extract(
"modelfastino/GLiNER2.5-Decide",
{"text": "textI've been charged more than once for the same transaction"},
labels=[
"labelpending card payment",
"labelreverted card payment",
"labelrequest a card payment refund",
"labelduplicate card payment",
"labelcard payment fee",
"labelunrecognized card payment",
"labeldeclined card payment",
"labelcard not working",
],
)
print(result["classifications"])
import { SIEClient } from '@superlinked/sie-sdk';

const client = new SIEClient(undefined, { apiKey: 'sk-sie-…' });

const result = await client.extract(
  'fastino/GLiNER2.5-Decide',
  { text: "I've been charged more than once for the same transaction" },
  { labels: ["pending card payment","reverted card payment","request a card payment refund","duplicate card payment","card payment fee","unrecognized card payment","declined card payment","card not working"] },
);
console.log(result.classifications);
curl https://api.superlinked.com/v1/extract/fastino%2FGLiNER2.5-Decide \
  -H "Authorization: Bearer sk-sie-…" \
  -H "Content-Type: application/json" \
  -d "{\"items\":[{\"text\":\"I've been charged more than once for the same transaction\"}],\"params\":{\"labels\":[\"pending card payment\",\"reverted card payment\",\"request a card payment refund\",\"duplicate card payment\",\"card payment fee\",\"unrecognized card payment\",\"declined card payment\",\"card not working\"]}}"
Build the "Classify text" capability into my app using the Superlinked Inference Engine (SIE).

Context
- SIE is an OpenAI-style inference API. Python SDK: `from sie_sdk import SIEClient`; TypeScript: `@superlinked/sie-sdk`.
- Base URL: https://api.superlinked.com (or my regional endpoint). Auth: Bearer key from env `SIE_API_KEY` (never hard-code it).
- Model: fastino/GLiNER2.5-Decide (SIE primitive: /extract). Keep the model id configurable.

Task
- Input: a block of text plus a set of candidate labels.
- Behaviour: return the best-matching label(s) with native scores
- Call the selected SIE primitive once per request and map the response into your domain type.

Deliverables
- A typed client wrapper, an application-level function for this task, error handling for timeouts/empty input, and unit tests with a stubbed client.
- Wire it into my existing stack (ask me which framework if unclear) and add a short usage example.
Output
Category Score
  1. duplicate card payment 0.81
  2. request a card payment refund 0.07
  3. card payment fee 0.05
  4. unrecognized card payment 0.02
  5. reverted card payment 0.01
  6. declined card payment 0.01
  7. pending card payment 0.01
  8. card not working 0.01

Run the classifier on Serverless or beside your app

Self-hosted (Kubernetes)

Your data stays in your cloud, backed by our engineers.

  • Terraform modules for your cloud
  • Apache-2.0, same engine as Serverless
  • GPU workers scale to zero between jobs
  • Separate worker pools for each tenant
Agent prompt Deploy SIE to our AWS account with the superlinked/sie/aws Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Google Cloud project with the superlinked/sie/google Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Azure subscription with the superlinked/sie/azure Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Alibaba Cloud account with the superlinked/sie/alicloud Terraform module. Docs: superlinked.com/docs/deployment.

Run locally

The open-source server on your own machine.

  • NVIDIA GPU
  • One container, no cluster
  • Process your data fully offline
  • Same SDK and model IDs as Serverless
docker run --gpus all -p 8080:8080 ghcr.io/superlinked/sie-server:latest-cuda12-transformers5

Switch to SIE in 5 minutes

import json
from openai import OpenAI

client = OpenAI()
response = client.responses.create(
    model="gpt-6-luna",
    input=prompt,
    text={"format": schema},
)
reply = json.loads(response.output_text)
category = reply["category"]
from openai import OpenAI

client = OpenAI()
decision = client.decisions.create(
    model="gpt-6-luna",
    input=message,
    questions=[{
        "type": "choice",
        "instructions": "Which category fits this message?",
        "choices": [{"value": c} for c in categories],
    }],
)
category = decision.answers[0].choice
import json
import anthropic

client = anthropic.Anthropic()
reply = client.messages.create(
    model="claude-haiku-5-5",
    max_tokens=8192,
    messages=[{"role": "user", "content": prompt}],
    output_config={"format": schema},
)
category = json.loads(reply.content[0].text)["category"]
from typesafe_sdk import Choice, TypeSafeClient

client = TypeSafeClient(model="jev-latest")
response = client.system_one(
    state=message,
    questions={"category": Choice(
        instructions="Which category fits this message?",
        criteria=dict.fromkeys(categories),
    )},
)
category = response.choices["category"].choice
SIE
from sie_sdk import SIEClient

client = SIEClient(api_key="sk-sie-…")
result = client.extract(
    "fastino/GLiNER2.5-Decide",
    {"text": message},
    labels=categories,
)
top = result["classifications"][0]
category = top["label"]
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=message,
    questions=[{
        "type": "choice",
        "instructions": "Which category fits this message?",
        "choices": [{"value": c} for c in categories],
    }],
)
category = decision.answers[0].choice
from sie_sdk import SIEClient

client = SIEClient(api_key="sk-sie-…")
result = client.extract(
    "fastino/GLiNER2.5-Decide",
    {"text": message},
    labels=categories,
)
top = result["classifications"][0]
category = top["label"]
from typesafe_sdk import Choice, TypeSafeClient

client = TypeSafeClient(
    api_key="sk-sie-…",
    base_url="https://api.superlinked.com",
    model="fastino/GLiNER2.5-Decide",
)
response = client.system_one(
    state=message,
    questions={"category": Choice(
        instructions="Which category fits this message?",
        criteria=dict.fromkeys(categories),
    )},
)
category = response.choices["category"].choice

Contact us

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

Apply for an inference grant

Free capacity on our hosted cluster for selected projects. Tell us what you run and we reply by email.