In this section we will cover how to set up and use the TypeSafe provider with Flock to access Jev, TypeSafe AI’s System One decision model. Before starting, you should have already followed the Getting Started guide. Jev is not a chat model. It answers typed questions about a piece of content and returns the probability of each answer, so it cannot generate text. In Flock it serves llm_filter, with a calibrated yes/no verdict per row, and ai_classify, which picks one label per row, at a fraction of the cost of a generative model.

TypeSafe Provider Setup

Jev is served both by TypeSafe directly and by OpenRouter, with the same request format. Only the key and the base URL differ.
  • First, create a secret with your API key. The base URL defaults to TypeSafe itself:
The base URL may be given as the host root, the /v1 form, or the full /v1/systemone endpoint; all three reach the same place.
  • Flock ships with a model named jev, which points at jev-latest, so you can use it immediately:
  • Or create your own model to pin a version or change its settings:
jev-latest works on both hosts. Versioned identifiers differ by host: TypeSafe documents them as jev-1.13.0, OpenRouter as jev-1.13.

Decision Threshold

Jev answers each row with the probability that it satisfies the prompt. llm_filter turns that probability into true when it is at or above a threshold. There is no default: set it in CREATE MODEL, or inline on the model for a single call:
The threshold must be between 0 and 1.

Supported Functions

Using an unsupported function with a TypeSafe model fails when the query is planned, before any request is sent. Context columns must be text; image and audio columns are refused.

Batching and Limits

Rows are sent in batches, each batch as a single request with one question per row. Because each request carries a fixed overhead, large batches are much cheaper per row, so consider raising max_batch_size. Your host’s request limit depends on your plan; set rate_limit to it to throttle requests (see Models Management). If a batch is too large for a single request, Flock halves it and retries automatically; a rejected request is not billed.

Settings That Do Not Apply

A TypeSafe request carries only a model, the rows and the questions, so model_parameters (such as temperature) and tuple_format have no effect.

Using More Than One Host

Name your secrets and choose one per call with secret_name:

Running a Decision Model Locally

Laya is an open-source decision model served over the same System One API, so a typesafe secret pointed at your own server is all Flock needs. These examples assume it runs at http://localhost:8888 under the model name laya:
Keep max_batch_size at 1: Laya judges one row per request reliably, but tends to give every row the same answer when several share a request.