# Route support tickets with Clef-Flash on Regolo

Clef-Flash on Regolo classifies support tickets into your own categories from a one sentence description of each, with no training data. In our test of 60 English and Italian tickets, one request took under 2.5 seconds, 55 tickets matched our labels (91.7%), and the estimated cost was about 0.22 US dollars per 1,000 tickets.

This tutorial takes about ten minutes, from the first request to a table of results you can reproduce on your own tickets. You need a Regolo API key and Python 3, and if you do not have a key yet you can [create an account on Regolo](https://regolo.ai/signup).

 BENCHMARK · 200 PUBLIC CUSTOMER REQUESTS 

### Same accuracy as qwen3.5-9b, in far less time.

Clef-Flash on Regolo sorted 200 insurance customer messages into 8 categories with 4 requests, in 9.8 seconds, at about 0.19 US dollars per 1,000 messages.

 Clef-Flash qwen3.5-9b 

Messages matching the dataset labels

Clef-Flash94.0 to 94.5%

qwen3.5-9b94.5%

 

Time to classify 200 messages

Clef-Flash9.8 s

qwen3.5-9b353 s

 

Estimated cost per 1,000 messages

Clef-Flash$0.19

qwen3.5-9b$0.27

 

API requests needed

Clef-Flash4

qwen3.5-9b200

 

 

**36×**faster as measured
(19× without the qwen timeouts)

0training examples:
one sentence per category

**50**messages per request,
up to 64 allowed

 

Measured on October 14, 2026 on 200 messages sampled with a fixed seed (25 per category) from the Bitext insurance customer support dataset (CDLA-Sharing-1.0). Clef-Flash: 4 requests of 50 messages, repeated three times (94.5%, 94.0%, 94.0%). qwen3.5-9b: one request per message, temperature 0, 8 in parallel, one run; 5 requests hit the 180 s timeout and counted as misses, and its cost is extrapolated from the 95 calls with recorded usage. Costs use Regolo catalog rates and the tokens reported by the API.

 

## What is Clef-Flash and how does it classify tickets?

[Clef-Flash](https://huggingface.co/Cloudflare/clef-flash) is a decision model that answers multiple choice questions about a text. You give it a ticket and a list of allowed categories with a short definition each, and it returns one category together with a confidence value and the probability of every option, so the result is always one of your own labels and can go straight into a helpdesk rule, a queue or a dashboard. On Regolo it is available at the `/v1/systemone` endpoint.

Three practical advantages follow from this design.

- You define the categories in plain language, so a new category is a new sentence and not a new training run.
- Many tickets travel in the same request (up to 64 questions per call), so time and request volume stay low as ticket volume grows.
- The answers are structured, which means you can log them, count them and send low confidence cases to a person.

## How do you route support tickets with Clef-Flash?

### Step 1: describe your categories

Each category is a name and one sentence that explains it. These are the six we used.

```
LABELS = {
    "billing": "The ticket is about charges, invoices, refunds, prices or payment methods.",
    "technical_problem": "Something in the product does not work: errors, crashes, slowness or missing data.",
    "account_access": "Login, password, two-factor, invitations, permissions or ownership of the account.",
    "feature_request": "The customer asks for a feature or improvement that does not exist yet.",
    "cancellation": "The customer wants to cancel, close the account or stop renewal.",
    "general_question": "A question about the company, policies, pricing options or documentation, with no problem to fix.",
}Code language: JSON / JSON with Comments (json)
```

### Step 2: send the tickets in one request

The request has the model name, a `state` that holds the tickets as numbered sentences, and one question per ticket that points to its number.

```
import os
import requests

tickets = ["I was charged twice this month, please refund the duplicate.",
           "The dashboard stays blank after login on Chrome.",
           "Vorrei disdire l'abbonamento, come faccio?"]

body = {
    "model": "clef-flash",
    "state": {"sentences": [{"id": i, "text": t} for i, t in enumerate(tickets)]},
    "questions": {
        f"t{i}": {"type": "choice", "criteria": LABELS,
                  "instructions": f"Which category best describes the customer message in sentence [{i}]? Choose exactly one."}
        for i in range(len(tickets))
    },
}

response = requests.post(
    "https://api.regolo.ai/v1/systemone",
    headers={"Authorization": f"Bearer {os.environ['REGOLO_API_KEY']}"},
    json=body, timeout=60,
)
response.raise_for_status()
for name, answer in response.json()["answers"].items():
    print(name, answer["choice"], round(answer["confidence"], 2))Code language: Python (python)
```

Each answer contains the chosen label, a confidence between 0 and 1 and the probabilities of all the options, so you decide what happens next: route automatically, or ask a person when the confidence is below your own limit.

![](https://regolo.ai/wp-content/uploads/2026/10/chart-4-requests-dark-bg@2x-1024x352.png)## How accurate and fast is Clef-Flash for ticket classification?

We wrote 60 realistic tickets, 10 for each of the six categories and 8 of them in Italian, labeled them ourselves and sent all of them in a single request.

| Measurement | Result |
|---|---|
| Tickets classified correctly | 55 of 60 (91.7%) |
| Time for one request with 60 tickets | 1.35 to 2.17 seconds |
| Same answers in three repeated runs | yes, all 60 identical |
| Estimated cost per request of 60 tickets | about 0.0135 US dollars |
| Estimated cost per 1,000 tickets | about 0.22 US dollars |
| Training examples needed | none |

The cost is an estimate that multiplies the tokens reported by the API (about 90,000 input tokens per request, no output tokens) by our catalog rates, and it is not an invoice.

![](https://regolo.ai/wp-content/uploads/2026/10/chart-1-accuracy-dark-bg@2x.png)The results by category show where the model was strongest.

| Category | Correct |
|---|---|
| Technical problem | 10 of 10 |
| Account access | 10 of 10 |
| Feature request | 10 of 10 |
| Cancellation | 10 of 10 |
| General question | 9 of 10 |
| Billing | 6 of 10 |

Four categories were perfect, including tickets written in Italian such as "Vorrei disdire l'abbonamento, come faccio?" and "Ho cambiato email aziendale e non riesco più ad accedere al mio profilo".

![](https://regolo.ai/wp-content/uploads/2026/10/chart-2-time-dark-bg@2x-1024x352.png)Four of the five tickets that did not match our labels are billing tickets that also describe a problem (a receipt download error, an expired card, a wrong company name on an invoice) or a question about plans and payment methods, and one more is a payment methods question that we had labeled as a general question.

![](https://regolo.ai/wp-content/uploads/2026/10/chart-3-cost-dark-bg@2x-1024x376.png)## How does it compare with other ways to route tickets?

|  | Keyword rules | Trained classifier | Clef-Flash on Regolo |
|---|---|---|---|
| What you need to start | a rule list per category | labeled examples for every category | one sentence per category |
| Adding a category | write and test new rules | collect examples and retrain | add a sentence and run again |
| Several languages | one rule set per language | depends on the training data | tested with English and Italian in one request |
| Output | a label | a label and a score | a label, a confidence and the probability of each option |

The first two columns describe how these approaches usually work, and only the last column comes from our own test.

 ZERO DATA RETENTION 

### Get engineering notes and model releases in your inbox.

Sovereign AI inference, OpenAI-compatible, EU-hosted. Benchmarks, new models (Mistral, Qwen, GLM), and cost insights. One email, no spam.

✓

#### Thank you for subscribing!

Please check your inbox to confirm your subscription.

 

   Subscribe Free 

   I accept the [Privacy Policy](https://regolo.ai/privacy-policy) \*  

    100% European infrastructure · Zero spam · Unsubscribe anytime.

 

## Frequently asked questions

### How do you classify support tickets without training data?

Describe each category in one plain sentence and send the tickets to Clef-Flash with those descriptions. In our test of 60 tickets, 55 matched our labels (91.7%) without any example tickets.

### How accurate is Clef-Flash for ticket classification?

On our own 60 tickets it matched our labels 91.7% of the time, with four categories at 10 of 10. The test used tickets we wrote and labeled ourselves, so check it on a week of your real tickets before relying on the figure.

### How much does it cost to classify tickets with Clef-Flash?

About 0.22 US dollars per 1,000 tickets in our test, estimated from the tokens reported by the API and the Regolo catalog rates.

### Can Clef-Flash classify tickets in several languages?

Yes, the same request can mix languages. Our test included 8 Italian tickets among English ones, and 6 of the 8 matched our labels.

### How many tickets fit in one request?

Up to 64 questions per request, so send larger volumes in batches of 64.

---

## Ship Private AI. Not Infrastructure.

You have the private AI App architecture, bow give it an inference layer built for production.

**Regolo** gives European teams fast, OpenAI-compatible access to Mistral, Llama, Qwen, DeepSeek, GLM, and more — with zero data retention, EU data residency, and no new SDK to learn.

Change your `base_url`. Keep your LangChain code. Start shipping.

### 🚀 [Start your 30-day free trial →](https://regolo.ai/?utm_source=blog&utm_medium=cta&utm_campaign=private-rag)

Build, test, and deploy with no infrastructure to maintain.
**No credit card. No migration project. No compromise on data control.**

### 💬 [Join the Regolo Discord →](https://discord.gg/bqGrVJHeF)

Meet builders working on private RAG, local LLMs, LangChain, Ollama, and production AI systems. Share your setup, get feedback from the community, and speak directly with the Regolo team.

### 🤝 [Talk to an AI Infrastructure Engineer →](https://regolo.ai/contact?utm_source=blog&utm_medium=cta&utm_campaign=private-rag)

Running a sensitive workload, scaling beyond a proof of concept, or assessing a managed EU inference provider? Get a tailored architecture and commercial proposal for your team.

### 📂 [Clone the GitHub repository →](https://github.com/regolo-ai/tutorials/)

Get the full implementation from this guide: ingestion scripts, ChromaDB setup, hybrid retrieval, the **30-Question RAG Floor**, evaluation examples, and deployment configuration.

> **Private AI should not require a private data center.**
> Regolo gives your team an EU-native path from local experimentation to production-grade inference.

---

### Build with Regolo

- **Discord:** [Join the community →](https://discord.gg/bqGrVJHeF)
- **GitHub:** [Explore open-source workflows →](https://github.com/regolo-ai/tutorials/)
- **X / Twitter:** [Follow @regolo\_ai →](https://x.com/regolo_ai)
- **Reddit:** [Join the community →](https://www.reddit.com/r/regolo_ai/)
- **Documentation:** [Read the API docs →](https://docs.regolo.ai)
- **Contact:** [Talk to the team →](https://regolo.ai/contact)

---

*Built with ❤️ by the Regolo team. Questions? [regolo.ai/contact](https://regolo.ai/contact)* or chat with us on [Discord](https://discord.gg/bqGrVJHeF)