Skip to content

nvnsho/mlx-swift-examples

 
 

Repository files navigation

Documentation

Developers can use these examples in their own programs -- just import the swift package!

  • MLXLLMCommon -- common API for LLM and VLM
  • MLXLLM -- large language model example implementations
  • MLXVLM -- visual language model example implementations
  • MLXEmbedders -- popular Encoders / Embedding models example implementations
  • StableDiffusion -- SDXL Turbo and Stable Diffusion mdeol example implementations
  • MLXMNIST -- MNIST implementation for all your digit recognition needs

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%