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.

解决的问题

提供一个 OpenAI 兼容的 API 服务器,用于在 Apple Silicon 上使用 MLX 框架运行各种本地 AI 模型。这使得用户可以使用熟悉的 OpenAI SDK 和客户端与在 Mac 上本地运行的模型进行交互,无需依赖外部 API。

工作原理

该服务器充当 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 内存不足(OOM)错误。
  • 多模型托管:支持通过 YAML 配置文件加载多个模型,包括节省内存的「按需加载」功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目