MLX Swift 的示例程序。语言模型示例使用了在 MLX Swift LM 中实现的模型。
MNISTTrainer: 一个可在 iOS 和 macOS 上运行的示例,它会下载 MNIST 训练数据并训练一个 LeNet 模型。
LLMBasic: 一个极简的 LLM 聊天示例应用。它只有两个功能:加载模型和评估提示词。
LLMEval: 一个可在 iOS 和 macOS 上运行的示例,它会从 Hugging Face 下载一个 LLM 和分词器,并根据给定的提示词生成文本。它包含一些预设提示词、工具集成等。此外,它还显示运行的详细统计信息。
MLXChatExample: 一个可在 iOS 和 macOS 上运行的聊天应用示例,支持 LLM 和 VLM。
LoRATrainingExample: 一个在 macOS 上运行的示例,它会下载一个 LLM 并使用 LoRA(低秩适应)和训练数据对其进行微调。
LinearModelTraining: 一个训练简单线性模型的示例。
StableDiffusionExample: 一个可在 iOS 和 macOS 上运行的示例,它会从 Hugging Face 下载一个稳定扩散模型,并根据给定的提示词生成图像。
llm-tool: 一个命令行工具,用于使用 Hugging Face hub 上提供的各种 LLM 生成文本。
image-tool: 一个命令行工具,用于使用 Hugging Face 的稳定扩散模型生成图像。
mnist-tool: 一个命令行工具,用于在 MNIST 数据集上训练 LeNet 模型。
[!IMPORTANT]
MLXLMCommon、MLXLLM、MLXVLM和MLXEmbedders已移至一个仅包含可复用库的新仓库:mlx-swift-lm。
之前的 URL 和标签将继续有效,但今后对这些库的所有更新都将在另一个仓库中进行。新仓库也支持之前的标签。
[!TIP]
希望同时编辑mlx-swift-examples和mlx-swift-lm的贡献者可以使用 Xcode 中的这个技巧。
LLM 和 VLM 的实现可在 MLX Swift LM 中找到:
MLX Swift Examples 也包含一些可复用的库,你可以通过在 Package.swift 中添加以下代码或在 Xcode 中引用 URL 来导入:
.package(url: "https://github.com/ml-explore/mlx-swift-examples/", branch: "main"),
然后将一个或多个库作为依赖项添加到目标中:
.target(
name: "YourTargetName",
dependencies: [
.product(name: "StableDiffusion", package: "mlx-libraries")
]),
应用程序和命令行工具示例可以从 Xcode 或命令行运行:
./mlx-run llm-tool --prompt "swift programming language"
注意:mlx-run 是一个 shell 脚本,它使用 xcode 命令行工具来定位构建好的二进制文件。它与从 Xcode 本身运行是等效的。
另请参阅: