Installieren, starten, testen
Richten Sie auf der Instanz eine eigene Python-Umgebung für den Dienst ein. Der folgende Modellpfad verweist auf ein lokales Verzeichnis, das bereits mit der Instanz synchronisiert wurde. Testen Sie nach dem Start zunächst die OpenAI-kompatible Schnittstelle direkt auf der Instanz.
python3 -m venv ~/mlx-service/.venv
~/mlx-service/.venv/bin/python -m pip install mlx-lm
~/mlx-service/.venv/bin/python -m mlx_lm.server \
--model ~/models/quantized-model \
--host 127.0.0.1 --port 8080
curl http://127.0.0.1:8080/v1/models
Prüfen Sie zuerst, ob alle Modelldateien vorhanden sind, die Python-Umgebung funktioniert und der Port nicht von einem anderen Prozess belegt ist. Je nach Version von mlx-lm können sich die Parameter ändern. Maßgeblich ist daher vor der Bereitstellung die Hilfe des auf der Instanz installierten Befehls.
ZUGRIFF / 01
Zugriff fürs Team einrichten
Standardmäßig lauscht der Dienst nur auf 127.0.0.1. Für wenige interne Aufrufe können Teammitglieder jeweils eigene SSH-Tunnel einrichten. Wenn Sie einen zentralen Zugang benötigen, verwenden Sie einen Reverse-Proxy mit Authentifizierung, Zugriffskontrolle und TLS. Geben Sie den ungeschützten Inferenzendpunkt nicht direkt im öffentlichen Internet frei.
ssh -N -L 8080:127.0.0.1:8080 xops-node
START / 02
Nach Neustarts weiterlaufen lassen
Sobald der Dienst im Vordergrund stabil läuft, erstellen Sie dafür eine benutzerspezifische launchd Konfiguration. Geben Sie darin Python aus der virtuellen Umgebung, Modellpfad, Arbeitsverzeichnis und Protokolldatei an. Prüfen Sie die Konfiguration, laden Sie sie in die aktuelle Benutzersitzung und kontrollieren Sie nach einem Neustart der Instanz Prozess und Endpunkt.
plutil -lint ~/Library/LaunchAgents/com.xcodeops.mlx.plist
launchctl bootstrap gui/$(id -u) \
~/Library/LaunchAgents/com.xcodeops.mlx.plist