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設定ファイル経由で複数のモデルをロード可能。メモリ節約のための「オンデマンド」ロード機能もサポート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト