前言

想在自己电脑上跑大模型,但看到”CUDA””量化””显存”这些词就头疼?Ollama 把这个门槛降到了最低——安装、下载模型、开始对话,三步搞定,不需要配置任何环境。

它在后台自动处理了模型量化、GPU 加速、内存管理这些脏活累活,对用户来说就是在终端里敲几行命令。


一、安装

macOS下载 Ollama.app,拖到 Applications 即可。

Linux

1
curl -fsSL https://ollama.com/install.sh | sh

Windows:从 ollama.com/download 下载安装包,双击安装。

验证安装

1
2
ollama --version
# ollama version is 0.9.0

二、拉取并运行第一个模型

1
2
# 拉取并直接运行(没下载会自动先下载)
ollama run llama3.2

下载完成后会直接进入对话模式:

1
2
3
4
5
6
7
8
>>> 你好,请做一下自我介绍
我是 Llama,由 Meta 开发的 AI 助手……

>>> 用 Python 写一个斐波那契函数
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)

退出对话:输入 /bye 或按 Ctrl+D

常用模型推荐

1
2
3
4
5
6
7
8
9
10
11
12
# 通用对话
ollama run llama3.2 # Meta 最新,综合能力强,3B 参数(约 2GB)
ollama run qwen2.5:7b # 阿里通义千问,中文能力强,7B(约 4.5GB)
ollama run deepseek-r1:7b # 深度求索,推理能力强,7B(约 4.5GB)

# 编程专用
ollama run codellama:7b # Meta 编程模型
ollama run deepseek-coder # 编程能力突出

# 轻量模型(配置低的电脑也能跑)
ollama run qwen2.5:1.5b # 最小的通义千问,1.5B(约 1GB)
ollama run llama3.2:1b # 最小的 Llama,1B(约 700MB)

模型命名规则

1
2
3
4
5
qwen2.5:7b-instruct-q4_K_M
│ │ │ └── 量化方式
│ │ └── instruct(指令微调版)/ base(基础版)
│ └── 参数规模
└── 模型名称

不指定量化方式时,Ollama 自动选最适配你硬件的那一个。


三、模型管理命令

1
2
3
4
5
6
ollama list                  # 查看已下载的模型
ollama show qwen2.5:7b # 查看模型详细信息
ollama cp qwen2.5:7b my-qwen # 复制/重命名模型
ollama rm qwen2.5:7b # 删除模型
ollama pull llama3.2 # 单独下载(不运行)
ollama ps # 查看当前加载到内存的模型

四、多轮对话与系统提示

1
2
3
4
5
6
7
8
9
10
11
12
# 带系统提示词的对话
ollama run qwen2.5:7b "你是一个 Linux 运维专家。用一句话解释什么是反向代理。"

# 管道输入
echo "将这段文字翻译成英文:今天天气真好" | ollama run qwen2.5:7b

# 逐行处理文件
cat questions.txt | while read line; do
echo "Q: $line"
echo "$line" | ollama run llama3.2
echo "---"
done

五、Modelfile:自定义模型行为

Modelfile 相当于 Dockerfile,定义模型的系统提示、温度、上下文长度等。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Modelfile
FROM qwen2.5:7b

# 系统提示词(定义模型"人设")
SYSTEM """
你是一个资深 Python 后端工程师,擅长代码审查。
回答风格:先指出问题,再给出修改建议,最后附上改进后的代码。
回答长度:不超过 300 字。
"""

# 参数
PARAMETER temperature 0.3 # 创造性(0=严谨,1=天马行空)
PARAMETER top_p 0.9
PARAMETER top_k 40

# 上下文窗口
PARAMETER num_ctx 4096

构建并使用:

1
2
ollama create code-reviewer -f Modelfile
ollama run code-reviewer

常用参数说明:

参数 含义 推荐值
temperature 输出随机性,越高越”有创意” 代码/翻译 0.10.3,写作 0.70.9
top_p 核采样,只考虑概率累加到 p 的词 0.8~0.95
top_k 只考虑概率最高的 k 个词 30~50
num_ctx 上下文窗口大小(token 数) 2048~32768
num_predict 最大输出 token 数 -1(不限制)

六、REST API 调用

Ollama 自带了一个兼容 OpenAI 格式的 HTTP API(默认端口 11434)。

基本调用

1
2
3
4
5
6
# 非流式
curl http://localhost:11434/api/generate -d '{
"model": "qwen2.5:7b",
"prompt": "用一句话解释什么是 Docker",
"stream": false
}'

返回:

1
2
3
4
5
6
7
{
"model": "qwen2.5:7b",
"response": "Docker 是一种容器化技术,可以将应用及其依赖打包成一个独立的标准化单元,在任何环境中一致运行。",
"done": true,
"total_duration": 1234567890,
"eval_count": 42
}

聊天格式(推荐)

1
2
3
4
5
6
7
8
curl http://localhost:11434/api/chat -d '{
"model": "qwen2.5:7b",
"messages": [
{"role": "system", "content": "你是一个 Linux 运维专家"},
{"role": "user", "content": "如何查看磁盘剩余空间?"}
],
"stream": false
}'

Python 调用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import requests

def ask_ollama(prompt, model="qwen2.5:7b"):
resp = requests.post(
"http://localhost:11434/api/chat",
json={
"model": model,
"messages": [
{"role": "user", "content": prompt}
],
"stream": False
}
)
return resp.json()["message"]["content"]

print(ask_ollama("用 Python 写冒泡排序"))

OpenAI 兼容端点(Ollama 0.5+):

1
2
3
4
5
6
7
8
9
10
11
12
13
from openai import OpenAI

client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # Ollama 不需要真实 API Key
)

response = client.chat.completions.create(
model="qwen2.5:7b",
messages=[{"role": "user", "content": "Hello!"}]
)

print(response.choices[0].message.content)

这个兼容性意味着所有为 OpenAI API 写的代码,改一下 base_url 就能直接对接 Ollama


七、搭配 Open WebUI 使用

如果觉得命令行太简陋,可以装 Open WebUI:

1
2
3
4
5
docker run -d \
--name open-webui \
-p 3000:8080 \
-v open-webui-data:/app/backend/data \
ghcr.io/open-webui/open-webui:main

然后浏览器打开 http://localhost:3000,在设置中配置 Ollama 地址(默认 http://host.docker.internal:11434),就能得到一个界面和 ChatGPT 几乎一样的私人 AI 助手。

Open WebUI 还支持:

  • 多模型切换和对比
  • 上传文件让 AI 分析
  • RAG 知识库(上传文档,AI 基于文档回答)
  • 对话历史管理
  • 多用户权限管理

八、常见问题

Q:需要什么配置的电脑?

  • 1B~3B 模型:8GB 内存,不需要独显,普通笔记本能跑
  • 7B~8B 模型:16GB 内存,推荐 6GB+ 显存的独显
  • 14B+ 模型:32GB+ 内存,推荐 12GB+ 显存
  • 70B+ 模型:需要多张高端显卡,个人电脑跑不动

Q:Ollama 和直接用 Transformers 跑模型有什么区别?

Ollama 底层用的是 llama.cpp,做了大量量化优化。同样的模型,Ollama 占用的内存/显存通常比原生 Transformers 少 30~50%。

Q:模型文件存在哪?

  • macOS:~/.ollama/models/
  • Linux:/usr/share/ollama/.ollama/models/
  • Windows:C:\Users\<用户名>\.ollama\models\

以上覆盖了 Ollama 的常用操作,日常使用足够了。更进阶的用法(GPU 多卡、并发调优、模型量化)可以参考 Ollama 官方文档。