Ollama 是一个开源的本地大型语言模型 (LLM) 运行框架,旨在极大简化在个人计算机上部署、管理和运行各种先进 LLM 的过程。它允许用户在本地环境中与 Llama 3、Phi-3、Gemma 2、Mistral、Qwen2 等模型进行交互,而无需依赖云服务。Ollama 将模型的权重(支持 GGUF、PyTorch 和 Safetensors 等格式)、配置和数据打包成一个统一的 Modelfile,优化了设置和 GPU 支持,甚至可以在普通硬件上高效运行。Ollama 特别适合对数据隐私有较高要求的开发者、研究人员以及 AI 爱好者。截至 2025年5月6日,Ollama 持续更新,为用户提供便捷的本地 AI 体验。
Ollama 支持多种操作系统,您可以根据自己的设备选择合适的安装方式。
您可以从 Ollama 官方网站 (https://ollama.com) 下载适用于 macOS 的安装程序并按提示安装。或者,通过终端运行以下命令进行安装:
curl -fsSL https://ollama.com/install.sh | sh
访问 Ollama 官方网站 (https://ollama.com) 下载 Windows 安装程序 (.exe 文件)。下载完成后,双击运行安装程序。Windows 用户可能需要确保系统已启用 WSL (Windows Subsystem for Linux) 以获得更佳的 GPU 支持体验。
对于大多数 Linux 发行版,可以使用以下命令下载并安装 Ollama:
curl -fsSL https://ollama.com/install.sh | sh
如果您使用的是 NVIDIA GPU,请确保已安装相应的 CUDA 驱动程序和 nvidia-container-toolkit 以启用 GPU 加速。
Docker 提供了一种便捷的跨平台部署方式。
docker run -d -p 11434:11434 --name ollama ollama/ollama
docker run -d --gpus=all -p 11434:11434 --name ollama ollama/ollama
安装完成后,您可以运行 ollama list 或 ollama --version 来验证 Ollama 是否已成功安装并正在运行。
下图清晰地展示了 Ollama 的核心功能和主要组成部分,帮助您快速理解其工作流程和能力范围。从安装选项到高级的模型管理与集成,Ollama 为本地运行大型语言模型提供了全面的支持。
Ollama 主要通过命令行界面 (CLI)进行交互。熟悉以下核心命令将帮助您快速开始使用。
下表总结了 Ollama 常用的命令及其功能:
| 命令 | 描述 | 示例 |
|---|---|---|
ollama pull <模型名称> |
从 Ollama 模型库下载指定的模型。 | ollama pull llama3 |
ollama run <模型名称> |
运行指定的模型并进入交互式聊天会话。可以直接跟上提问。 | ollama run llama3 "你好,请介绍一下你自己" |
ollama list |
列出本地已下载的所有模型及其大小和上次使用时间。 | ollama list |
ollama show <模型名称> |
显示特定模型的详细信息,包括其 Modelfile 内容和参数。 | ollama show llama3 |
ollama rm <模型名称> |
从本地删除指定的模型以释放磁盘空间。 | ollama rm llama3 |
ollama cp <源模型> <目标模型> |
复制一个现有模型到新的名称,方便基于现有模型进行修改。 | ollama cp llama3 my-custom-llama3 |
ollama create <模型名称> -f ./Modelfile |
根据指定的 Modelfile 文件创建或自定义一个新的模型。 | ollama create mymodel -f ./Modelfile |
ollama serve |
在后台启动 Ollama 服务,使其 API 可供其他应用程序调用 (默认监听 0.0.0.0:11434)。 | ollama serve |
安装并下载模型后,您可以直接在终端中与模型进行对话。例如,要与 Llama 3 模型聊天:
ollama run llama3
然后,您就可以输入您的问题或提示,模型会生成回应。输入 /bye 或按 Ctrl+D 可以退出交互模式。
通过社区开发的 WebUI 工具,用户可以获得更直观的图形化操作界面来与本地 Ollama 模型进行交互。
通过 Web 界面与本地托管的 Ollama 模型进行交互的示例。
Ollama 提供了灵活的模型管理功能,包括从官方库拉取模型、创建自定义模型以及导入外部模型。
Ollama 维护了一个包含众多流行开源模型的库,您可以在 ollama.com/library 查看可用模型列表。要下载并使用模型,例如 Mistral,只需运行:
ollama pull mistral
Ollama 会自动下载模型文件。您可以拉取不同参数规模的模型,如 llama3:8b (80亿参数) 或 llama3:70b (700亿参数)。
Modelfile 是一个纯文本文件,用于定义模型的行为和属性。您可以通过创建一个名为 Modelfile (无扩展名) 的文件来定制模型。例如:
# 指定基础模型
FROM llama3:8b
# 设置系统提示,指导模型的行为和角色
SYSTEM """
你是一个乐于助人的AI助手。请用简洁明了的中文回答问题。
"""
# 设置模型参数 (可选)
PARAMETER temperature 0.7
PARAMETER top_k 40
然后,使用以下命令基于此 Modelfile 创建名为 my-custom-assistant 的新模型:
ollama create my-custom-assistant -f ./Modelfile
Ollama 支持导入 GGUF、PyTorch 和 Safetensors 格式的模型权重。您可以在 Modelfile 中通过 FROM 指令指定本地模型文件的路径来导入。例如,要导入一个本地的 GGUF 文件:
# Modelfile 内容
FROM ./path/to/your-local-model.gguf
然后同样使用 ollama create my-local-model -f ./Modelfile 命令来创建并注册该模型到 Ollama。
以下雷达图比较了几款可以通过 Ollama 运行的流行大型语言模型在不同维度上的特性。这些评估是基于普遍认知的主观分析,旨在提供一个大致的参考。实际表现可能因具体任务和使用方式而异。图表的评分范围为 3 到 10,分值越高代表在该维度上表现越优或特性越突出(例如,“模型大小 (紧凑性)”分值越高代表模型越小巧)。
Ollama 不仅限于基本的模型运行,还提供 API、客户端库以及对多模态和模型量化等高级功能的支持。
当您运行 ollama serve 或通过 Docker 启动 Ollama 时,它会在本地的 11434 端口上暴露一个 REST API。您可以使用这个 API 将 Ollama 集成到自己的应用程序中。例如,使用 curl 发送生成请求:
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "请用一句话解释什么是量子纠缠?",
"stream": false
}'
Ollama API 还支持流式响应、多轮对话 (/api/chat) 和 OpenAI 兼容的接口 (/v1/chat/completions)。
为了方便开发者,Ollama 社区提供了多种编程语言的客户端库。
您可以使用官方的 ollama-python 库在 Python 应用中与 Ollama 交互。首先安装库:pip install ollama。然后:
import ollama
response = ollama.chat(
model='llama3',
messages=[
{
'role': 'user',
'content': '你好,Ollama!写一首关于春天的短诗。',
},
]
)
print(response['message']['content'])
对于 Node.js 或前端 JavaScript 项目,可以使用 ollama-js 库。安装:npm install ollama。用法与 Python 库类似,方便构建 Web 应用或后端服务。
社区已经开发了许多优秀的 Web 用户界面 (WebUI) 工具,如 Open WebUI (原 Ollama WebUI)、AnythingLLM 等。这些工具提供了图形化的界面,方便用户管理模型、进行聊天、构建知识库等,进一步降低了使用门槛。
Ollama 从 0.1.15 版本开始支持多模态模型,例如 LLaVA (Large Language and Vision Assistant)。这意味着您可以向模型提供图像作为输入,并进行基于图像内容的对话或分析。例如,运行 LLaVA 模型:
ollama run llava
>>> /path/to/your/image.jpg 描述这张图片中的主要物体。
将 /path/to/your/image.jpg 替换为实际的图片路径。
为了在资源受限的设备上运行大型模型,Ollama 支持模型量化。量化是一种减少模型权重精度从而减小模型体积和内存占用的技术,通常能显著降低显存需求,提高推理速度,同时尽量保持模型性能。许多 Ollama 模型库中的模型都提供了不同量化级别的版本供选择。
下面的视频教程详细介绍了 Ollama 的核心概念、安装步骤以及基本使用方法。通过观看此视频,您可以更直观地了解如何利用 Ollama 在本地环境中轻松管理和运行大型语言模型,是初学者快速入门的绝佳资源。