前言
想在自己电脑上跑大模型,但看到”CUDA””量化””显存”这些词就头疼?Ollama 把这个门槛降到了最低——安装、下载模型、开始对话,三步搞定,不需要配置任何环境。
它在后台自动处理了模型量化、GPU 加速、内存管理这些脏活累活,对用户来说就是在终端里敲几行命令。
一、安装
macOS:下载 Ollama.app,拖到 Applications 即可。
Linux:
1
| curl -fsSL https://ollama.com/install.sh | sh
|
Windows:从 ollama.com/download 下载安装包,双击安装。
验证安装:
二、拉取并运行第一个模型
下载完成后会直接进入对话模式:
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 ollama run qwen2.5:7b ollama run deepseek-r1:7b
ollama run codellama:7b ollama run deepseek-coder
ollama run qwen2.5:1.5b ollama run llama3.2:1b
|
模型命名规则
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
| FROM qwen2.5:7b
SYSTEM """ 你是一个资深 Python 后端工程师,擅长代码审查。 回答风格:先指出问题,再给出修改建议,最后附上改进后的代码。 回答长度:不超过 300 字。 """
PARAMETER temperature 0.3 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" )
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 官方文档。