Awesome
MLX Swift Examples
Example MLX Swift programs.
-
MNISTTrainer: An example that runs on both iOS and macOS that downloads MNIST training data and trains a LeNet.
-
LLMEval: An example that runs on both iOS and macOS that downloads an LLM and tokenizer from Hugging Face and generates text from a given prompt.
-
VLMEval: An example that runs on iOS, macOS and visionOS to download a VLM and tokenizer from Hugging Face and analyzes the given image and describe it in text.
-
LinearModelTraining: An example that trains a simple linear model.
-
StableDiffusionExample: An example that runs on both iOS and macOS that downloads a stable diffusion model from Hugging Face and and generates an image from a given prompt.
-
llm-tool: A command line tool for generating text using a variety of LLMs available on the Hugging Face hub.
-
image-tool: A command line tool for generating images using a stable diffusion model from Hugging Face.
-
mnist-tool: A command line tool for training a a LeNet on MNIST.
Running
The application and command line tool examples can be run from Xcode or from the command line:
./mlx-run llm-tool --prompt "swift programming language"
See also:
Installation of libraries
The MLXLLM, MLXVLM, MLXLMCommon, MLXMNIST, MLXEmbedders, and StableDiffusion libraries in the example repo are available as Swift Packages.
Add the following dependency to your Package.swift
.package(url: "https://github.com/ml-explore/mlx-swift-examples/", branch: "main"),
Then add one or more libraries to the target as a dependency:
.target(
name: "YourTargetName",
dependencies: [
.product(name: "MLXLLM", package: "mlx-swift-examples")
]),
Alternatively, add https://github.com/ml-explore/mlx-swift-examples/
to the Project Dependencies
and set the Dependency Rule
to Branch
and main
in Xcode.