Skip to content

zshannon/mlx-swift-examples

 
 

Repository files navigation

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.

About

Examples using MLX Swift

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 99.1%
  • Other 0.9%