cubist38/mlx-openai-server

A high-performance API server that provides OpenAI-compatible endpoints for MLX models. Developed using Python and powered by the FastAPI framework, it provides an efficient, scalable, and user-friendly solution for running MLX-based vision and language models locally with an OpenAI-compatible interface.

何を解決するか

MLXフレームワークを使用して、Apple Silicon上のMacでさまざまなローカルAIモデルを実行する、OpenAI互換のAPIサーバーを提供します。これにより、ユーザーは外部APIを必要とせずに、Mac上でローカルで実行されているモデルと、馴染み深いOpenAI SDKやクライアントを使ってやり取りできるようになります。

動作方法

サーバーは、OpenAIスタイルのAPIリクエストと複数のMLXベースのバックエンドの間のブリッジとして機能します。テキスト(lm)、マルチモーダル(vlm)、画像生成・編集(mflux)、埋め込み(embeddings)、音声認識(whisper)など、複数のモデルタイプをサポートしています。コマンドラインで単一のモデルを起動するか、YAML設定ファイルを使用して複数のモデルを同時に起動できます。各モデルは個別のサブプロセスで実行され、Metalランタイムの状態を分離します。

対象ユーザー

Apple Silicon搭載のmacOS上で開発やAI研究を行っている開発者や研究者で、既存のアプリケーションやエージェントに統合できる標準化されたAPIインターフェースでローカルモデルをデプロイしたい方。

特徴

  • 広範なモデル対応: テキスト、視覚言語モデル、画像生成・編集、埋め込み、Whisper音声認識をサポート。
  • OpenAI互換性: /v1/chat/completions/v1/images/generations/v1/embeddings などの標準エンドポイントを実装。
  • パフォーマンスチューニング: 連続バッチ処理、推測デコード、KVキャッシュの量子化などのオプションでメモリ使用量とスループットを最適化。
  • メモリ管理: macOSでのMetal Out-of-Memory (OOM)エラーを回避するための詳細なガイドと設定オプションを提供。
  • マルチモデルホスティング: YAML設定ファイル経由で複数のモデルをロード可能。メモリ節約のための「オンデマンド」ロード機能もサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト