Triage every ticket with scores you can set thresholds on
Ask your routing questions of every ticket (is it urgent, what is it about, can a bot solve it) and get a probability for each answer. Automate what is clear, send the rest to a person.
$0.09 per million input tokens · the scores are free
Calibrated answers for support ticket triage, at any scale
Only your labels
The answer is always one of your queues or categories, with its probability: nothing to parse, no invented labels.
Thresholds, not guesses
Choose the confidence at which a ticket is routed automatically, and send everything below it to a person. Measure the trade-off on your own history first.
Taught by examples
Put a handful of your labelled tickets in the content and accuracy jumps. No training run and no model to host.
One ticket, three routing questions
Urgency, scope and topic, answered together. The bars show p; the tick shows the floor, the same question with no ticket.
Customer support message: Hi, since this morning's SSO change nobody on our team can log in, and we have a board demo at 3pm today. We're on the Business plan. Please help ASAP!
Is this urgent (business blocked, security, legal threat, data loss, or a deadline within 24 hours)?
yes
0.95
no
0.05
Is more than one user affected?
yes
0.98
no
0.02
Topic (billing, technical, account, shipping, or cancellation):
billing
0.10
technical
0.83
account
0.07
shipping
0.00
cancellation
0.00
import os
import requests
resp = requests.post(
"https://api.spinf.com/v1/score",
headers={"Authorization": f"Bearer {os.environ['SPINF_API_KEY']}"},
json={
"model": "spinf-12b",
"messages": [
{
"role": "user",
"content": "Customer support message:\nHi, since this morning's SSO change nobody on our team can log in, and we have a board demo at 3pm today. We're on the Business plan. Please help ASAP!"
}
],
"scoring": {
"queries": [
{
"id": "urgent",
"template": "\n\nIs this urgent (business blocked, security, legal threat, data loss, or a deadline within 24 hours)?\nAnswer:{?}",
"options": [
" yes",
" no"
]
},
{
"id": "many_users",
"template": "\n\nIs more than one user affected?\nAnswer:{?}",
"options": [
" yes",
" no"
]
},
{
"id": "category",
"template": "\n\nTopic (billing, technical, account, shipping, or cancellation):{?}",
"options": [
" billing",
" technical",
" account",
" shipping",
" cancellation"
]
}
]
}
},
)
for query in resp.json()["results"][0]["queries"]:
for combo in query["combinations"]:
print(query["id"], combo["values"], [(o["text"], o["p"], o["floor_p"]) for o in combo["options"]])A live zero-shot call to spinf-12b. With a few labelled tickets from your helpdesk in the content, the scores become sharper and closer to your team’s own decisions.
Accurate with a few labelled tickets in the prompt
Measured on 130 synthetic support tickets written for our benchmark and labelled by two reviewers, zero-shot and with 4 or 8 labelled example tickets placed in the prompt (three different example sets, never the tickets being scored).
correct topic (5 topics)
correct · bot can resolve?
AUC · urgent?
correct · needs a human?
Synthetic tickets are cleaner than real ones: expect lower numbers on your data, and measure them on your own history before going live. With 8 examples in the prompt, scoring costs about $0.12 per 1,000 tickets.
Calibrate in bulk, then decide live
The on-demand API is built for throughput: use it to measure spinf on your own history and set your thresholds. Real-time decisions then run on an endpoint reserved for you.
1
Calibrate on your history
Score last year's tickets on the on-demand API, with your free tokens. Compare with what your team decided, and pick the thresholds where spinf acts alone and where it hands over to a person.
2
Go live on a reserved endpoint
The same questions and thresholds, on capacity reserved for you: always warm, sized to your traffic, and pinned with one request field.
3
Keep checking
Re-score a sample of new tickets in bulk every week to catch drift, and adjust the questions or thresholds when your business changes.
1M tickets for about $81
Only input is billed, at $0.09 per million tokens: the content once per call, each question's own tokens, and one empty floor per question. The scores are free.
Assumes 150-token tickets with 4 labelled examples in the content, 4 questions. The first 50M tokens are free.
Support ticket triage: questions, answered
More in the docs, or .
Same engine, other questions
The first 50M tokens are on us
Score a sample of your history today, and talk to us when you are ready to go live.