Ollama:一行命令跑大模型,本地AI的傻瓜式入口
174K+ GitHub Stars,Go语言实现,MIT协议——Ollama把本地跑大模型这件事,简化到了「装App」的级别。
Ollama:让本地跑模型像装App一样简单
如果你问一个完全不懂编程的朋友:「你想在电脑上跑个大模型吗?」他大概率会说想,然后问:「怎么跑?」你给他讲GGUF量化、llama-server参数、CUDA编译……他已经在找退路了。
Ollama解决的就是这个问题。它的核心理念只有四个字:开箱即用。
# 安装
curl -fsSL https://ollama.com/install.sh | sh
# 跑模型
ollama run qwen2.5:7b
两行命令,从零到开始聊天。没有编译,没有Python环境,没有模型格式选择困难症。Ollama自动帮你下载模型、选择量化、启动服务——你只需要告诉它「我想用哪个模型」。
底层?还是llama.cpp。Ollama本质上是一个精心封装的llama.cpp运行时,用Go语言写了服务管理和模型分发层。你享受的每一分便利,都是llama.cpp在默默干活。
安装和基本使用
三平台一键安装
| 平台 | 安装命令 |
|---|---|
| Linux/macOS | curl -fsSL https://ollama.com/install.sh | sh |
| Windows | irm https://ollama.com/install.ps1 | iex |
| Docker | docker run -d -v ollama:/root/.ollama -p 11434:11434 ollama/ollama |
安装完,ollama命令就有了。不需要手动下载模型文件,不需要操心放在哪个目录。
模型管理
# 查看可用模型
ollama list
# 下载模型(自动选最优量化)
ollama pull qwen2.5:7b
ollama pull llama3.2:3b
ollama pull deepseek-r1:7b
# 运行模型(如果没下载会自动pull)
ollama run qwen2.5:7b
# 删除模型
ollama rm qwen2.5:7b
Ollama的模型仓库(ollama.com/library)已经收录了上百个主流模型,每个模型都有预编译的GGUF量化版本。你不需要去HuggingFace翻量化表,不需要纠结Q4_K_M还是Q5_K_S——Ollama帮你选好了。
OpenAI兼容API
Ollama启动后自动在localhost:11434提供API服务,兼容OpenAI格式:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 任意值
)
response = client.chat.completions.create(
model="qwen2.5:7b",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
这意味着任何使用OpenAI SDK的应用——Hermes Agent、LangChain、Continue插件——改一行base_url就能对接本地Ollama。
Modelfile自定义模型
Ollama不只是个模型下载器,它还支持自定义模型配置。Modelfile类似Dockerfile,定义模型的来源、参数和系统提示:
# Modelfile 示例:定制一个中文编程助手
FROM qwen2.5:7b
# 系统提示
SYSTEM """
你是一个专业的中文编程助手。回答时:
1. 优先给出代码示例
2. 解释要简洁明了
3. 使用中文回答
"""
# 推理参数
PARAM temperature 0.7
PARAM top_p 0.9
PARAM num_ctx 4096
创建和运行:
ollama create my-coder -f Modelfile
ollama run my-coder
你还可以基于GGUF文件创建模型——如果你在HuggingFace上找到了Ollama库里没有的模型:
FROM ./my-model-q4_k_m.gguf
PARAM temperature 0.8
与Agent工具集成
这是Ollama在2025-2026年最大的进化:原生支持主流AI编程工具。
# 启动Ollama后,直接对接Claude Code
ollama launch claude
# 对接OpenAI Codex
ollama launch codex
# 对接GitHub Copilot
ollama launch copilot
Ollama作为本地推理后端,给这些Agent工具提供模型服务。这意味着你可以在完全断网的环境下使用Claude Code写代码——只要本地有Ollama在跑。
对于我们的Hermes Agent工作流,Ollama同样可以作为推理后端。配置方式和llama-server一样,改个端口:
# Hermes配置
llm:
provider: openai-compatible
base_url: "http://localhost:11434/v1"
model: "qwen2.5:7b"
api_key: "ollama"
ARM64上的体验
Ollama支持ARM64,在Apple Silicon(M1/M2/M3/M4)上通过Metal加速,体验非常好。但在Linux ARM64设备上,情况就有些不同了。
在全志A733的A7Z上安装Ollama:
# ARM64 Linux安装
curl -fsSL https://ollama.com/install.sh | sh
安装没问题,但运行体验取决于模型大小:
| 模型 | 量化 | 大小 | A7Z速度 | 体验 |
|---|---|---|---|---|
| qwen2.5:0.5b | Q4 | ~400MB | 8-12 t/s | 流畅 |
| qwen2.5:1.5b | Q4 | ~1GB | 3-5 t/s | 可用 |
| qwen2.5:3b | Q4 | ~2GB | 1-2 t/s | 勉强 |
| qwen2.5:7b | Q4 | ~4.5GB | ❌ | 内存不够 |
2GB内存的A7Z,7B模型直接跑不动。1.5B勉强可用,0.5B比较流畅。这和直接用llama.cpp跑是一样的——毕竟底层都是llama.cpp,硬件瓶颈不会因为封装层而消失。
Ollama在ARM64上的真正优势不在性能,而在便利性。在树莓派5、RK3588等4-8GB内存的ARM设备上,Ollama的体验会好很多。
什么时候该用Ollama,什么时候该用llama.cpp
这是最实际的问题。两者底层都是llama.cpp,但定位完全不同:
| 维度 | Ollama | llama.cpp |
|---|---|---|
| 安装难度 | ⭐ 一行命令 | ⭐⭐⭐ 编译+配置 |
| 模型管理 | ⭐⭐⭐⭐⭐ 自动 | ⭐⭐ 手动下载GGUF |
| 参数控制 | ⭐⭐ 预设为主 | ⭐⭐⭐⭐⭐ 全参数 |
| 量化选择 | ⭐⭐ 自动 | ⭐⭐⭐⭐⭐ 全格式 |
| 性能调优 | ⭐⭐ 有限 | ⭐⭐⭐⭐⭐ 精细 |
| GPU卸载 | ⭐⭐⭐ 自动 | ⭐⭐⭐⭐⭐ 手动控制 |
| 多模态 | ⭐⭐⭐ 支持 | ⭐⭐⭐⭐ 支持 |
| API兼容 | ⭐⭐⭐⭐⭐ OpenAI | ⭐⭐⭐⭐ OpenAI |
| Agent集成 | ⭐⭐⭐⭐⭐ 原生 | ⭐⭐⭐ 需配置 |
选Ollama:新手入门、日常使用、不想折腾、需要快速验证想法、Agent工具集成
选llama.cpp:性能调优、ARM64边缘设备、内存受限、需要特定量化格式、Speculative Decoding、研究用途
我的实际选择:A7Z上用llama.cpp(内存太紧,需要精细控制),桌面/笔记本上用Ollama(省心)。两者不冲突,各取所长。
by 数码罗记·godsun.pro