Introduction to Pico MLX Server
Pico MLX Server offers a straightforward approach to exploring Apple's MLX AI framework. Designed for users who wish to delve into machine learning using familiar interfaces, it provides a Graphical User Interface (GUI) for interacting with the MLX Server. The MLX Server itself acts as a local API, compatible with the popular OpenAI API standards. Consequently, users can effortlessly utilize most OpenAI chat clients in conjunction with Pico MLX Server.
Key Features
- User-Friendly Access: Users can start or stop servers efficiently through a simple menu bar feature.
- Model Management: It allows downloading MLX models directly from the MLX community hosted on Hugging Face.
- Comprehensive Setup: Facilitates the installation and configuration of needed environments such as Python, MLX, and the MLX Server, all within the application itself.
- Multiple Servers: Users can run multiple servers on varying ports, which offers flexibility for handling different projects or models.
- Real-time Logs: The server windows display real-time logs, improving monitoring and troubleshooting.
- Custom Client Links: Open favorite chat clients using a custom link. By default, it connects to Pico AI Assistant.
Supported Models
The supported MLX models are accessible on the MLX Community page on Hugging Face.
Getting Started
To begin using Pico MLX Server, users can either build the source code via Xcode or download the notarized executable directly from GitHub. Setting up the server involves opening the app, where users can manually install Python, pip, MLX, and the MLX Server, or automate the setup through Pico MLX Server's menu.
The application uses Conda by default for creating a virtual environment, mitigating potential Python version conflicts. Users have the option to disable Conda in settings.
System Requirements
- Operating System: MacOS 14.0 (Sonoma) or later.
Creating a New Server
Creating a server is simple:
- Navigate to
MLX -> Servers -> New Server...
. - Use the
Create
option to set up the default server configuration. - For other models, you can specify a selection manually by using the
mlx-community/
prefix. - View server logs in real-time using the "View Logs" option.
Integrating Pico MLX Server with AI Clients
To connect an AI assistant compatible with the OpenAI API, direct it to the local server address (e.g., http://127.0.0.1:8080
). You can also utilize command-line tools like curl to interact with the server.
API Usage
The server adheres to the OpenAI's completion API, specifically the POST /v1/completions
endpoint, which is detailed further in OpenAI's documentation.
Known Limitations
There are a couple of known issues:
- The server does not notify users if a port is already occupied. Terminal commands may be necessary to resolve this.
- There might be a glitch in updating server states within the application's interface.
Future Plans
The team plans to transition from Python to MLX Swift and implement a Swift-based HTTP server to further improve the application.
Related Projects
Pico MLX Server is part of a suite of open-source tools designed for AI developers, including:
Authors and Acknowledgements
Created by Ronald Mannak with support from experts like Ray Fernando. MLX Server contributions were made by Mustafa Aljadery and Siddharth Sharma, among others. The project utilizes code from various open-source efforts like MLX Swift Chat.
Pico MLX Server exemplifies a user-friendly tool for any AI enthusiast looking to dive into machine learning effortlessly.