Skip to content

openai-scala-client

Async Scala client for OpenAI and many providers, with adapters for TypeSafe Jev and other decision models.

LibraryproductionMIT

Overview

openai-scala-client is a widely used async Scala client covering OpenAI's endpoints, including streaming with a provider-neutral typed chunk stream, chat completions, the responses and agents APIs, tools and MCP, graders, vision, batch and voice. It ships adapters for many providers: Anthropic, Google Gemini and Vertex, Groq, Perplexity including its decision model, TypeSafe AI (Jev), Liquid AI (d1), Microsoft Foundry's Microsoft-Decision-1, SubQ Snap, and decision models on OpenRouter and Vercel AI Gateway.

Per the list summary, it has a dedicated TypeSafe module. For Scala and JVM teams, this means Jev and other decision models can be called through the same client and configuration as their chat models. Details of the TypeSafe module's API are not in the README excerpt.

What the decision model decides

TypeQuestionAnswers
OtherChoice, Score and Noul calls passed through the TypeSafe module(inferred)—

How it works

  1. Add the client and the TypeSafe module to your build.
  2. Configure the TypeSafe key.
  3. Call decision endpoints alongside other providers.

Strengths

  • One Scala client for chat and decision models.
  • Supports several decision-model providers.
  • MIT licensed.

Caveats

  • TypeSafe module specifics not in the README excerpt.
  • Large dependency if you only need decisions.

At a glance

Type
Library
Status
production
Language
Scala
Runtime
JVM library
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

Frequently asked questions

Does it support Jev?

Yes, it includes an adapter and a dedicated TypeSafe module.

Which other decision models are supported?

Perplexity's decision model, Liquid AI d1, Microsoft-Decision-1, SubQ Snap and decision models on OpenRouter and Vercel AI Gateway.

What language is it for?

Scala.

Related projects

  • Hack Club's lightweight LLM proxy, listed for adding a Jev forwarding endpoint behind its auth, limits and usage logging.

    MCP serverproductionTypeScript
  • Ax, a DSPy-style multi-language LLM framework, listed with a native TypeSafe provider for Boolean, Choice, Score and raw Jev questions.

    PluginproductionTypeScript
  • Effect TypeScript library whose @effect/ai-typesafe package maps classify, probability and rating operations to Jev questions.

    ProjectproductionTypeScript
  • PHP monorepo whose Polyglot module adds a TypeSafe driver for typed Noul, Choice and Score decisions alongside LLM inference.

    ProjectproductionPHP
  • Go MCP server giving any client typed Jev decisions via OpenRouter or TypeSafe, with validated answers and no paid retries.

    MCP serverproductionGo
  • Simon Willison's LLM plugin that adds Jev as a model for yes/no, choice and score questions from the command line.

    PluginproductionPython