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 配置文件加载多个模型,包括节省内存的「按需加载」功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目