Skip to content

Jev directory

System One Adapter (Python)

Official drop-in TypeSafeClient replacement backed by OpenAI, Anthropic, and compatible LLM APIs, for comparing Jev against chat models on the same questions.
Stars
394
Language
Python
License
MIT
Reading time
3 min
Published by
TypeSafe AI
Last verified
Sep 2026

About this project

A drop-in replacement for typesafesdk's systemone evaluation API, backed by LLM APIs instead of TypeSafe. Useful for comparing TypeSafe against an LLM on cost/speed/intelligence. The provider SDKs are optional extras — install the one(s) you use: Unlike TypeSafeClient, the client is configured with how the LLM should answer, and each call names a provider alongside the model:

Quoted from the project's README. Read the full README.

Highlights

  • Install per provider: pip install 'system-one-adapter[openai]', 'system-one-adapter[anthropic]', or 'system-one-adapter[gemini]'.
  • Each call names a provider (openai, anthropic, or gemini) plus model, or set both as constructor defaults.
  • llm_answer_mode is "probabilities" (per-label distribution) or "discrete"; normalize_probabilities rescales invalid distributions to sum to 1.
  • Responses subclass typesafe_sdk.SystemOneResponse and add usage (input/output tokens across retries, n_retries, latency) plus a debug attempt history.
  • Anthropic's output limit defaults to 4,096 tokens; hitting it raises TypeSafeError instead of consuming malformed-output retries.

Quickstart

python
from system_one_adapter import SystemOneAdapterClient, Noul, Score, Choice
client = SystemOneAdapterClient(
    structured_outputs=True,
    llm_answer_mode="probabilities",
    normalize_probabilities=True,
)
response = client.system_one(
    state="This book was a delight to read.",
    questions={"positive": Noul(instructions="The book review is positive.")},
    provider="openai",
    model="gpt-4o-mini",
)

Watch out

Built for comparing LLMs against Jev on cost, speed, and intelligence rather than production inference, and OpenAI-compatible endpoints may omit token usage, which surfaces as None.

Questions about this entry

Short answers drawn from the linked project or page.

From the Jev guides

Original write-ups on what this entry is for.

From the Jev AI model community

Posts from builders shipping with Jev right now.

Follow @typesafeai