2025 年 2 月 15 日,llm-mlx是为LLMPython 库和 CLI 工具打造的全新插件,基于苹果优秀的MLX 数组框架库和mlx-lm包。对于终端用户或有 Mac 的 Python 开发者,这可能是开始探索本地大型语言模型的新最简单方式。
- 运行 Llama 3.2 3B 使用 llm-mlx:需先安装 LLM(有多种安装方式,如
uv tool install llm
、pipx install llm
、brew install llm
、pip install llm
),然后安装新插件(仅限 macOS)llm install llm-mlx
,下载并注册模型如 Llama 3.2 3B(1.8GB 下载)并存储在~/.cache/huggingface/hub/models--mlx-community--Llama-3.2-3B-Instruct-4bit
,可通过llm -m mlx-community/Llama-3.2-3B-Instruct-4bit 'Python 代码遍历树,简要'
运行提示,还可设置别名llm aliases set l32 mlx-community/Llama-3.2-3B-Instruct-4bit
,能以较短别名运行,也可通过管道输入让其解释 Python 代码,如cat llm_mlx.py | llm -m l32 'explain this code'
。 - MLX 和 mlx-lm:新插件背后的秘密是苹果的MLX 库,过去一年进步迅速,11 月刚在 GitHub 发布,核心库是 C++,团队还维护mlx-examples仓库,包含mlx-lm和mlx-whisper包,社区也在成长,如 Prince Canuma 的mlx-vlm库用于访问多模态视觉语言模型。作者过去用 MLX 做过一些实验,MLX 核心开发者 Awni Hannun 的推文促使其将其包装为 LLM 插件。
- 构建插件:llm-mlx插件开发较快,首个版本约 100 行 Python,大部分从现有llm-gguf插件复用,最难的是隐藏每次访问模型时显示的 Hugging Face 进度条,最终通过管道库代码通过 Gemini 2.0 找到
from huggingface_hub.utils import disable_progress_bars
实用函数,还添加了模型选项支持,如llm -m l32 'a greeting' -o temperature 1.0 -o seed 2
,在 GitHub Actions 中使用小模型进行自动化测试,配置缓存模型的 YAML 到.github/workflows/test.yml文件。插件运行的所有提示和响应都记录到SQLite 数据库,可通过llm logs
命令访问,也可在 Python 代码中使用 LLM 模型,README 和LLM Python API 文档有相关说明,如import llm; model = llm.get_model("mlx-community/Llama-3.2-3B-Instruct-4bit"); print(model.prompt("hi").text())
。尝试的其他模型包括mlx-community/Qwen2.5-0.5B-Instruct-4bit
(278MB)、mlx-community/Mistral-7B-Instruct-v0.3-4bit
(4.08GB)、mlx-community/Mistral-Small-24B-Instruct-2501-4bit
(13.26GB)、mlx-community/DeepSeek-R1-Distill-Qwen-32B-4bit
(18.5GB)、mlx-community/Llama-3.3-70B-Instruct-4bit
(40GB)等,较大模型如mlx-community/Llama-3.3-70B-Instruct-4bit
需 64GB 内存运行,可使用llm chat
命令确保模型在内存中进行多轮对话,如llm chat -m mlx-community/Llama-3.3-70B-Instruct-4bit
,Activity Monitor 显示运行时使用 37.5GB 内存,部分笑话效果不错。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。