Skip to content

Jev directory

Ruby LLM TypeSafe

A RubyLLM 2 provider that adds Jev through structured output: build Noul, Choice, and Score questions with a schema builder, pass them to chat.with_schema, and read typed answers from response.parsed.
Stars
18
Language
Ruby
License
MIT
Reading time
3 min
Published by
Community
Author
kieranklaassen
Last verified
Sep 2026

About this project

A RubyLLM 2 provider for TypeSafe. TypeSafe runs Jev, a System One model. Jev does not write text. You give it one piece of state (a string, or JSON your application already has) and a batch of typed questions. It answers each question with a probability your code can act on. There are three question types, which TypeSafe calls primitives: Noul asks whether something is true and returns the probability of yes. Choice picks one option from a set you define and returns a probability for each option.

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

Highlights

  • Registers a :typesafe provider with RubyLLM 2, so Jev requests travel through RubyLLM's structured output API rather than text generation.
  • Calling ask without a schema, streaming, and tools raise an error before any request is sent.
  • Validation runs when a question is added: duplicate ids, missing instructions, an empty Choice map, or a Score under two levels raise ArgumentError.
  • Supports RubyLLM >= 2.0.0.rc3, < 3 on Ruby 3.1.3 and newer and adds a packaged TypeSafe model catalog to RubyLLM's registry.
  • The key goes only in the Authorization: Bearer header, and timeouts, proxies, retries, and logging come from RubyLLM's own configuration.

Watch out

MIT-licensed. Needs Ruby 3.1.3+ and a TYPESAFE_API_KEY; it works through structured output only, so schema-less asks, streaming, and tools are refused before any request.

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