各プロバイダーのネイティブプロトコルを使い、多数のAIプロバイダーと共通のAPIでチャットできるRustライブラリ。
cequence-io/openai-scala-client
チャット、Responses、ストリーミング、バッチなどに対応した、OpenAI APIおよび多数のLLMプロバイダー向け非同期Scalaクライアント。
- スター
- 257
- フォーク
- 40
- 未解決の Issue
- 9
- 最終コミット
- 22 時間前
これは何?
OpenAI API向けのScalaクライアントライブラリです。チャット補完、Responses API、埋め込み、画像、音声、ファイル、バッチ、ベクトルストア、graderなど、ほぼすべてのエンドポイントを単一のサービスOpenAIServiceから利用できます。また、Anthropic(Bedrockを含む)、Google GeminiとVertex AI、Groq、Perplexity、Mistral、Cerebrasなど、OpenAI互換の各種エンドポイントでも同じ呼び出しを実行できるアダプターを備えています。
プロバイダーに依存しない型付きストリームで、テキスト、思考、ツール呼び出し、ツール結果の各チャンクを扱うストリーミングに対応しています。ツール利用にはMCPも含まれます。依存関係を少なく抑えており、Play WS上に独自の汎用WSクライアントを構築しています。依存性注入が必要な場合はscala-guiceを使用します。Scala 2.12、2.13、3を対象としています。
さらに、確率付きの型付き回答を扱うためのdecision-modelインターフェースに加え、Messages、Message Batches、Skills、Managed AgentsといったAnthropic固有の機能もカバーしています。
主な機能
- 01チャット、Responses、埋め込み、画像、音声、ファイル、バッチを単一のOpenAIServiceで利用可能
- 02Anthropic、Bedrock、Gemini、Vertex AI、Groq、Perplexityなどのプロバイダー向けアダプター
- 03テキスト、思考、ツール呼び出しのチャンクを扱える、プロバイダーに依存しない型付きストリーミング
- 04MCPに対応したツール呼び出し
- 05Scala 2.12、2.13、3に対応
ユースケース
- ScalaのバックエンドサービスからOpenAIや互換性のあるLLMエンドポイントを呼び出す
- 単一のクライアントインターフェースを通じて複数のLLMプロバイダーを切り替える
- 埋め込みやチャットリクエストの大規模なバッチ処理を実行する
- Scalaアプリケーションでストリーミングチャットやエージェント機能を構築する
使う前に知っておきたいこと
- Assistants、Threads、Runs、Run Steps API、Edits エンドポイント、createImageVariation など、廃止または停止されたエンドポイントがあります。
- Perplexity の Sonar chat completions や Octo AI など、廃止または古くなったプロバイダー連携があります。
収録されている特集
トピック
よくある質問
- openai-scala-client とは?
- チャット、Responses、ストリーミング、バッチなどに対応した、OpenAI APIおよび多数のLLMプロバイダー向け非同期Scalaクライアント。 OpenAI API向けのScalaクライアントライブラリです。チャット補完、Responses API、埋め込み、画像、音声、ファイル、バッチ、ベクトルストア、graderなど、ほぼすべてのエンドポイントを単一のサービスOpenAIServiceから利用できます。また、Anthropic(Bedrockを含む)、Google GeminiとVertex AI、Groq、Perplexity、Mistral、Cerebrasなど、OpenAI互換の各種エンドポイントでも同じ呼び出しを実行できるアダプターを備えています。
- openai-scala-client は無料で使えますか?ライセンスは?
- openai-scala-client は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- openai-scala-client は今もメンテナンスされていますか?
- 活発にメンテナンス中。openai-scala-client の最終コミットは 2026年11月6日 です。
- openai-scala-client は何に使えますか?
- ScalaのバックエンドサービスからOpenAIや互換性のあるLLMエンドポイントを呼び出す 単一のクライアントインターフェースを通じて複数のLLMプロバイダーを切り替える 埋め込みやチャットリクエストの大規模なバッチ処理を実行する Scalaアプリケーションでストリーミングチャットやエージェント機能を構築する
- openai-scala-client はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/cequence-io/openai-scala-client
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
テキスト生成、構造化データ、会話に対応する、複数のAIプロバイダーAPIを統一されたシンプルなインターフェースで利用できるPythonクライアントライブラリ。
主要なLLMプロバイダーやUIフレームワークに対応した、ストリーミングチャット、ツール呼び出し、エージェント、マルチモーダルアプリ向けの型安全でプロバイダー非依存なTypeScript SDK。
OpenAI API向けの非公式Rustクライアントライブラリ。OpenRouterのエンドポイントにも対応しています。
同期・非同期クライアントと型付きのリクエスト/レスポンスモデルを備えた、OpenAI REST API公式Pythonライブラリ。