Ollama —— 在本地启动并运行大语言模型 - 蝈蝈俊

💡 原文中文,约6400字,阅读约需16分钟。
📝

内容提要

Ollama 是本地运行 Llama 2、Gemma 等大模型的命令行工具,支持 macOS、Linux、Windows。以 Mac 为例,下载后放入应用目录,执行 `ollama run gemma:2b` 即可自动下载并运行模型,生成诗歌、评论等文本。它还提供 REST API,通过 `/api/generate` 和 `/api/chat` 发送请求,返回流式 JSON 响应,逐字输出生成内容。

🔎

延伸解读

本地运行大模型的硬件考量

文章提到作者使用2015款MacBook Pro,因此选择了Gemma的2B版本而非7B版本。这暗示本地运行大模型时,硬件性能是关键限制因素。参数较小的模型对内存和计算资源要求更低,更适合老旧或入门级设备。读者在选择模型时,需根据自身设备配置权衡模型大小与生成质量。

REST API 的流式响应特点

Ollama提供REST API接口,通过/api/generate和/api/chat发送请求。返回的是流式JSON响应,每个JSON对象包含部分生成内容,如示例中逐词返回。这种设计适合需要实时显示生成结果的场景,但客户端需要处理多个JSON对象并拼接完整响应。

模型下载与运行的便捷性

执行`ollama run gemma:2b`命令会自动下载对应模型并运行,无需手动配置。这降低了本地运行大模型的门槛,适合快速体验和测试。但自动下载可能受网络影响,且模型文件较大,需确保磁盘空间充足。

❓

Q&A

Ollama 是什么?它支持哪些操作系统?

Ollama 是一款命令行工具,可在 macOS、Linux、Windows 上本地运行 Llama 2、Code Llama、Gemma 等大语言模型。

如何在 Mac 上安装并使用 Ollama 运行 Gemma 模型?

下载 Ollama 的 Mac 版本,放入应用目录,然后在命令行执行 `ollama run gemma:2b`,该命令会自动下载并运行 Gemma 2B 模型。

Ollama 的 REST API 有哪些端点?如何调用?

Ollama 提供 REST API,主要端点有 `/api/generate` 和 `/api/chat`。例如,使用 curl 发送 POST 请求到 `http://localhost:11434/api/generate`,请求体包含 model 和 prompt 字段;或发送到 `/api/chat`,请求体包含 model 和 messages 数组。

Ollama 的 API 返回什么格式的数据?

Ollama 的 API 返回流式 JSON 响应,每个 JSON 对象包含模型名称、时间戳、生成的部分文本(response 字段)以及 done 状态,逐字输出生成内容。

Ollama 可以运行哪些模型?

Ollama 可以运行 Llama 2、Code Llama、Gemma 等其他模型。

使用 Ollama 运行模型时,如何指定模型版本?

在运行命令中通过 `模型名:标签` 指定版本,例如 `ollama run gemma:2b` 指定使用 Gemma 2B 版本。

🏷️

标签

➡️

继续阅读