Pico MLX Server 项目介绍
Pico MLX Server 是针对苹果 MLX AI 框架 的一个简单入门工具。它为 MLX Server 提供了图形用户界面。MLX Server 提供了一种 API,让本地的 MLX 模型兼容 OpenAI API。这意味着用户可以通过 Pico MLX Server 轻松地使用大多数现有的 OpenAI 聊天客户端。
项目亮点
- 通过菜单栏快速启动和停止服务器
- 从 HuggingFace 的 MLX 社区 下载 MLX 模型
- 在 Pico MLX Server 内部安装和设置 Python 环境、MLX 和 MLX Server
- 在不同端口上运行多个服务器
- 在不同窗口中查看服务器日志
- 提供自定义链接以打开用户喜爱的聊天客户端(默认使用 Pico AI Assistant)
支持的 MLX 模型
用户可访问 HuggingFace 的 MLX 社区 查看支持的 MLX 模型。
快速开始
要安装 Pico MLX Server,用户可以使用 Xcode 构建源代码,或直接从 GitHub 下载经过校验的可执行文件。设置应用程序时,用户可以手动安装和设置 Python、pip、MLX 和 MLX Server,或者使用 Pico MLX Server 的自动化设置功能。Pico MLX Server 默认使用 Conda 创建一个名为 pico 的虚拟环境,以避免 Python 版本问题。Conda 可以在“设置”中禁用。
系统要求
- MacOS 14.0 (Sonoma) 或更高版本
创建新服务器
通过选择 MLX -> Servers -> New Server...
可以创建新服务器。按下 Create
按钮,在默认端口 8080
创建默认服务器 mlx-community/Nous-Hermes-2-Mistral-7B-DPO-4bit-MLX
。要使用不同的模型,可以点击 v
按钮或从 HuggingFace 的 MLX 社区 手动输入模型(请确保使用 mlx-community/
前缀)。按下 View Logs
按钮可以查看服务器的实时日志。
与 AI 客户端一起使用 Pico MLX Server
用户可以将任何兼容 OpenAI API 的 AI 助手指向地址 http://127.0.0.1:8080
(或在 Pico MLX Server 中使用的其他端口)。以下是使用接口的一段示例代码:
curl -X GET 'http://127.0.0.1:8080/generate?prompt=write%20me%20a%20poem%20about%20the%20ocean&stream=true'
API 端点
Pico MLX Server 使用的是 OpenAI 的 POST /v1/completions
API。详细信息请参阅相关 API 文档。
已知问题
- Pico MLX Server 不会检测端口是否已被占用(用户可在终端使用
lsof -i:8080
查找正在运行的服务器的 PID) New Server
窗口和Servers
菜单中的 SwiftUI 存在一个问题,无法更新服务器状态
未来规划
- 从 Python 转为 MLX Swift
- 基于 Swift 的 HTTP 服务器
相关项目
Pico MLX Server 是一组面向 AI 工程师的开源 Swift 工具的一部分。
项目作者与致谢
Pico MLX Server、Swift OpenAI Proxy 和 Pico AI Assistant 由 Ronald Mannak 和 Ray Fernando 合作创建。MLX Server 由 Mustafa Aljadery 和 Siddharth Sharma 创建。同时也参考了 MLX Swift Chat 和 Swift Chat 的代码。