Agentic workloads
Agent systems often make several short model calls before they can continue: routing, scoring, extraction, and query rewriting. The latency of those calls accumulates across a workflow.
celeris-1 fits these steps well. Use it throughout your agent loop, and substitute a slower, more intelligent model for the occasional step where extended generation or maximum reasoning depth matters more than speed.
Patterns
Classification and routing
Assign an input to a fixed set of labels, such as intent categories, moderation states, or tools. Specify the allowed output values:
{
"model": "celeris-1",
"messages": [
{"role": "system", "content": "Choose exactly one tool: search, calculator, email, or none. Reply with that tool name only, without reasoning."},
{"role": "user", "content": "what is 2 + 2?"},
{"role": "assistant", "content": "calculator"},
{"role": "user", "content": "what is 14% of 2,300,000?"}
],
"max_tokens": 256,
"temperature": 0
}
Structured extraction
Extract typed fields from unstructured text. Request JSON, define the fields, and set a token limit that fits the expected object:
{
"model": "celeris-1",
"messages": [
{"role": "system", "content": "Extract {name, company, intent}. Reply with one JSON object only, without commentary or fences. Example: 'Sam from Acme wants a demo' -> {\"name\":\"Sam\",\"company\":\"Acme\",\"intent\":\"demo\"}."},
{"role": "user", "content": "Hi, Priya Nair here from Meridian Logistics — keen to trial the enterprise plan."}
],
"max_tokens": 256,
"temperature": 0,
"seed": 7
}
Judging and scoring
Relevance grading, answer verification, and reranking generally use small inputs and outputs, which makes them suitable for celeris-1.
{
"model": "celeris-1",
"messages": [
{"role": "system", "content": "Score how well the passage answers the question. Output one integer from 0 through 10 and nothing else. If the passage directly answers the question, output 10."},
{"role": "user", "content": "Question: When did the Golden Gate Bridge open?\nPassage: The Golden Gate Bridge opened to pedestrians on May 27, 1937."}
],
"max_tokens": 256,
"temperature": 0
}
Query rewriting
Turn conversational input into retrieval queries, SQL, or filter expressions:
{
"model": "celeris-1",
"messages": [
{"role": "system", "content": "Rewrite the message as a concise search query. Query only."},
{"role": "user", "content": "hey do you have anything like the blue runners I bought last month but waterproof"}
],
"max_tokens": 256,
"temperature": 0,
"seed": 7
}
Implementation guidance
- Use
temperature: 0and an explicitmax_tokenslimit for structured calls. This reduces output variation and bounds latency and cost. Any positive integer that fits the context window is accepted. - Budget enough tokens for a complete tool call. When
max_tokensruns out mid-call, the request still succeeds with200, and what you get back depends on the mode. A buffered reply carriesfinish_reason: "length", an emptytool_callslist, and the unfinished<|tool_call>marker as ordinary text. A streamed reply can instead carryfinish_reason: "tool_calls"with a structured call whoseargumentsare empty ({}), the same shape as a real call, and one that a schema of all-optional fields accepts. Never execute a tool whose arguments are empty or fail your schema, treatfinish_reason: "length"as incomplete output rather than a missing call, and size the budget for the whole call. - Ask for machine-readable output ("Reply with the tool name only", "JSON
only") and validate it before use. On a non-streaming request, set
response_formatrather than relying on the prompt for a JSON contract, andtool_choice: "required"(or a named function) to direct a call. A directed call is not guaranteed, so still confirm the reply carriestool_calls. Streaming rejects both with a400. - Parallelize independent calls within a concurrency limit. This provides per-item failure handling without overwhelming the workspace rate limit. See Rate limits.
- Monitor
429responses in your application. They are not counted on the usage page. If the rate increases, reduce concurrency or contact support about a higher sustained limit.