如何借助 Ollama 在 M1 Mac 上运行 Mistral-7B [译]

如何借助 Ollama 在 M1 Mac 上运行 Mistral-7B [译]

💡 原文中文,约4000字,阅读约需10分钟。
📝

内容提要

本文介绍在M1 Mac上使用Ollama本地运行Mistral-7B模型的方法:安装Ollama后,在终端执行ollama run mistral即可运行基础模型;若已有微调模型,可用llama.cpp脚本将LoRA适配器转为GGML格式,编写Modelfile指定基础模型和适配器,再用ollama create创建并运行自定义模型;还可通过Python调用Ollama本地API,用curl命令发送提示并逐行解析返回结果。

🔎

延伸解读

硬件门槛与运行预期

文章指出 Mistral 7B 几乎兼容所有 M1 Mac,但特别提到 8GB RAM 的机器运行会稍显缓慢,不过仍可运行。这意味着即使入门级 M1 设备也能尝试本地 LLM,但用户需对速度有合理预期,不宜期望与云端服务同等的响应性能。

定制模型的关键步骤

若已有 LoRA 微调适配器,需先用 llama.cpp 的脚本将其转换为 GGML 格式,再编写 Modelfile 指定基础模型和适配器路径,最后通过 ollama create 创建自定义模型。这一流程将微调成果无缝集成到 Ollama 中,方便用户测试个性化模型。

编程调用的实现细节

文章提供的 Python 脚本通过 subprocess 调用 curl 命令访问 Ollama 本地 API,并逐行解析流式返回的 JSON 数据。由于 API 分多次输出结果,脚本需循环读取直到进程结束,并处理 JSON 解码错误。这为开发者集成本地模型到应用提供了参考。

❓

Q&A

如何在 M1 Mac 上安装 Ollama?

访问 Ollama 官网,在下载部分找到 macOS 版本的链接,点击下载。下载完成后打开安装包,按照屏幕指示将 Ollama 拖到“应用程序”文件夹。安装后可从应用程序文件夹或通过 Spotlight 启动。

怎么用 Ollama 运行基础的 Mistral 模型?

打开 Ollama 应用,然后打开终端,输入命令 `ollama run mistral` 并回车。该命令会自动下载并启动 Mistral 模型,之后即可在终端中与模型交互。使用 `/bye` 命令结束对话。

如何将微调后的 LoRA 适配器用于 Ollama 中的 Mistral 模型?

首先使用 llama.cpp 中的脚本将 LoRA 适配器转换为 GGML 格式,命令为 `python convert-lora-to-ggml.py /path/to/your/lora/adapter`。然后创建一个 Modelfile,使用 `FROM mistral:latest` 指定基础模型,用 `ADAPTER` 指定转换后的 GGML 适配器路径。最后运行 `ollama create custom_mistral -f ./Modelfile` 创建自定义模型,并用 `ollama run custom_mistral` 运行。

在 Python 中如何调用 Ollama 的本地 API 与 Mistral 模型交互?

可以编写一个 Python 函数,使用 `subprocess` 执行 curl 命令向 `http://localhost:11434/api/generate` 发送 POST 请求,请求体包含模型名和提示。由于 API 是流式输出,需要逐行读取响应并解析 JSON,将 `response` 字段的内容拼接起来。示例代码中定义了 `generate_response` 函数来实现这一过程。

在 8GB RAM 的 M1 Mac 上能运行 Mistral 7B 吗?

可以运行,但速度会稍慢。Mistral 7B 几乎兼容所有 M1 Mac,即使只有 8GB RAM 也能运行,只是性能上可能不太流畅。

Ollama 支持哪些操作系统?

Ollama 支持 macOS、Windows 和 Linux 等多种操作系统,并且可以在 Docker 环境中运行。

🏷️

标签

➡️

继续阅读