Overview of OpenAI Scala Client
masterThe OpenAI Scala Client is an asynchronous Scala client designed for the OpenAI API and various other LLM providers. It provides a unified interface through a single service called OpenAIService.
Key features include:
- Comprehensive API Support: Covers Models, Chat Completions, Assistants, Threads, Runs, Vector Stores, Responses, and more.
- Streaming: Supports provider-neutral typed streams for text, thinking, tool calls, and tool results.
- Multi-Provider Support: Includes adapters for Anthropic (including Bedrock and Managed Agents), Google Gemini/Vertex AI, Groq, Perplexity, TypeSafe AI (Jev), and others.
- Tooling: Supports tools including MCP (Model Context Protocol).
- Self-Contained: Implements its own generic WS client (using Play WS backend) to minimize dependencies and uses
scala-guicefor dependency injection.