Skip to content
System One

What is a System One extraction model? Extraction models explained

An extraction model is a System One-style model that reads text or images and returns typed values instead of decisions or prose: a span of the input, a number, a date, a duration, a list, an estimate or a forecast, each with probabilities. Cloudflare named the class on 19 October 2026 with Clairic, its first extraction model, now in preview on Workers AI. Decision models such as Jev pick from options you list; an extraction model fills in values you cannot list in advance.

Updated

In short

A System One extraction model reads content you supply and returns typed values: an amount, a date, a span of the text, a forecast. Each value comes with probabilities. It writes no prose and does not pick from a list of options.

This page is about models that pull data out of documents. It is not about model extraction attacks, where someone copies a model by querying it.

The name is Cloudflare’s. On 19 October 2026 it announced Clairic as the first of “a new class of System One-style models: extraction models”. Cloudflare credits TypeSafe AI, which coined System One with Jev on 15 September 2026, for the idea. TypeSafe had not commented on the new class as of 19 October 2026.

Where the class comes from

Until Clairic, every System One model was a decision model. You list the options, and the model gives a probability for each. That works for “which queue?” and “is this spam?”.

Cloudflare’s post points at a different kind of call. Developers ask LLMs for the same structured output again and again: an invoice total, a delivery date, the days a parcel is late, a repair cost. None of these has answers you can list in advance, so a decision model has nothing to put probabilities against. Cloudflare’s answer is an extraction model. “It is still fast, typed, and cheap, but it answers with values directly extracted from the input, computed from it, or predicted beyond it.”

What are text extraction models?

A text extraction model reads text and hands back pieces of data from it: names, amounts, dates, IDs. Older tools are narrower. A classic named entity recognition model tags people, places and the other labels it was trained on. Open models such as GLiNER take the labels at request time and return matching spans. An LLM can extract almost anything, but it writes the answer as JSON, one token at a time.

An extraction model in Cloudflare’s sense goes further than spans. It also computes values the text implies, estimates values it cannot settle, and says how likely each value is to be missing.

What goes in and what comes back

A Clairic call has a state, the text plus up to four optional images, and fields, a map of named fields. Each field has a type and optional plain-language instructions. The model answers every field in one parallel pass and generates no output tokens.

The field types are text, number, date, time, datetime, duration, list, estimate and forecast. A text answer is a span of the input with its offsets, so it is a verbatim copy. A number can be read or computed: in Cloudflare’s support-email example, Clairic adds $649.00 and $52.10 tax to get 701.1, a figure the email never states.

The Clairic field types guide covers each type and its settings. Every scalar answer carries four fields. value is the answer, or null when the input does not determine it. It can be a number, a date or a piece of text. p_null is the probability that the value is not in the input. confidence is the model’s confidence score for the answer, and guess shows what it would have picked if it had to. An estimate returns a distribution inside the bounds you set, with a median and an 80% interval. A forecast returns one estimate per future step. A per-field null_threshold sets the p_null above which value comes back null.

Extraction model vs decision model

Cloudflare’s launch table puts both under System One. Both use “one parallel pass”, and both are always valid: a decision model returns one of your options, and an extraction model returns a value of the declared type, or null, inside your bounds. The difference is the output space. A decision model’s is the “finite set of options you list”. An extraction model’s is “Continuous, but typed and bounded by your schema”.

On a decision model alone, extraction works in reverse: code finds candidate values and a Choice question picks one. The structured extraction use case shows that pattern with Jev.

The two fit together. Cloudflare’s summary: “Extraction models turn raw input into typed values, decision models turn values into decisions, and LLMs turn decisions into words.” Its own claims-pipeline test runs Clairic, then Clef, then the LLM GLM-5.3 for the reply. Clef vs Clairic and Jev vs Clairic set each decision model beside Clairic and show how to chain them.

Extract, decide, replyA message goes to Clairic, which extracts typed values such as an order id, an amount and the days late. Clef reads the message and those values and answers a Choice: approve, escalate or refuse. An LLM then writes the reply from that decision.Messagethe raw inputtext, plus up tofour imagesClairicextracts typed valuesorder_id: textamount: numberdays_late: durationClefdecides on themChoice: approve,escalate or refuseLLMwrites the replyfrom the decision
Cloudflare's claims-pipeline test runs the steps in this order. The field names are made up for the diagram.

Extraction model vs LLM structured output

An LLM writes JSON one token at a time, and you validate it afterwards. An extraction model returns typed values directly. Cloudflare says that because Clairic “generates no tokens, it can’t produce a mistyped answer or ‘hallucinate’ in the same way as an LLM (though it can, of course, make mistakes).” It charges only for input tokens. The System One vs LLM guide covers the decision-model side of the same trade.

Which AI model is best for data extraction?

It depends on the job, and only one model in this class exists to compare. As of 20 October 2026 the choice is between three routes:

  • Clairic: the only System One extraction model. Use it for typed fields that repeat in shape: totals, dates, durations, estimates. It computes values and tells you when one is missing. It is in preview, and no independent board has measured it.
  • LLM structured outputs: OpenAI and others constrain a language model to a JSON schema. Use them when you need free text, nested records or reasoning across a long document. You pay for output tokens, and any per-field confidence has to be rebuilt from token probabilities afterwards. The structured outputs entry covers the mechanics, and Clairic vs LLM structured outputs compares the two.
  • GLiNER and other span models: Open weights you run yourself. Use them for entity spans on your own hardware. They return spans for labels you name, not computed numbers, dates or estimates. See Clairic vs GLiNER.

The site does not rank these. No benchmark has measured all three on the same task.

Which extraction models exist

One, as of 20 October 2026: Clairic, in preview on Workers AI as @cf/cloudflare/clairic at $0.10 per million input tokens. Cloudflare says it intends to release open weights soon. Co-author Michelle Chen says that comes after “a few tweaks”. Neither gives a date as of 19 October 2026. Its API is its own: it takes fields and returns answers, not Jev’s questions shape. No independent board has measured it yet, and the site keeps it out of the decision-model ranking.

Where it does not fit

Cloudflare lists the preview’s limits itself:

  • Long chains of dependent steps and totals across many table rows. “Have Clairic predict the value and let code do the math.”
  • Estimates with no evidence behind them. It needs comparables, history or descriptive text.
  • Decisions that rely on exact calibration. “Calibration is measured, not guaranteed,” and intervals can run narrow on unfamiliar data.
  • Serious time-series work. “Forecasting is basic.”
  • Anything that ends in text. It writes no replies or summaries.

FAQ

What is an extraction model?

An extraction model reads text or images and returns typed values instead of prose or a pick from options: a span, a number, a date, a duration, a list, an estimate or a forecast. Each answer carries probabilities, including the chance the value is missing. Cloudflare named the class with Clairic on 19 October 2026 and calls it a System One class.

Is an extraction model a System One model?

Cloudflare says so. It calls Clairic “a new class of System One-style models”, and says it calls Clairic and Clef System One models “because they answer in a single pass, without reasoning or generating tokens.” TypeSafe AI coined the term System One and had not commented on the new class as of 19 October 2026. This site lists extraction models apart from decision models.

How is an extraction model different from a decision model?

A decision model picks from options you list and gives each a probability. An extraction model returns a value you could not list in advance, such as a total or a date, with the probability that it is missing. Cloudflare’s own pipeline runs both: Clairic pulls the values out, then Clef decides on them.

What are text extraction models?

They are models that read text and return pieces of data from it, such as names, amounts and dates. Named entity recognition models and GLiNER return spans for labels. LLMs write JSON. A System One extraction model such as Clairic returns typed values with probabilities, and can compute values the text only implies.

Which AI model is best for data extraction?

No model wins every job. Clairic, the only System One extraction model, suits repeated typed fields and tells you when a value is missing. LLM structured outputs suit free text and nested records. GLiNER suits entity spans on your own hardware. No independent benchmark compares all three as of 20 October 2026.

Can an extraction model hallucinate?

Not in the way an LLM does, because it writes no tokens. A single-value answer is a value of the type you asked for, or null. Cloudflare adds that “the architecture makes every answer well formed, not necessarily correct.” Check the probabilities and keep longer arithmetic in code.

Related guides