Ollama:一键式本地大模型运行与定制

FreeGuideOnline 最新 2026-06-14

Ollama 本地部署 LLM:一键式本地大模型运行与定制教程

什么是 Ollama?

Ollama 是一款专为简化大语言模型(LLM)本地部署而生的工具。它将模型的下载、运行、管理和交互封装成一套极其简洁的命令行操作,让你无需深度学习框架背景,也能在个人电脑上轻松运行 Llama 3、Phi、Mistral、Gemma 等开源模型。

为什么选择本地部署?

  • 数据隐私:所有对话都在本地处理,无需上传云端。
  • 无网络依赖:断网也能使用,适合离线或安全环境。
  • 零成本调用:无需 API Key,没有调用次数限制。
  • 高度可定制:可自由调整系统提示词、温度、上下文长度,甚至微调模型。
  • 低延迟体验:本地推理响应极快,避免网络波动。

Ollama 支持 macOS、Linux 和 Windows(预览版),并且提供 REST API,可轻松集成到各类应用中。

安装 Ollama

根据你的操作系统选择对应的安装方式。

macOS

# 推荐使用 Homebrew 安装
brew install ollama

也可以直接下载 .dmg 安装包:访问 ollama.com/download 获取。

Linux

# 使用一键安装脚本
curl -fsSL https://ollama.com/install.sh | sh

脚本会自动添加系统服务,安装完成后 Ollama 会作为后台服务运行。

Windows

目前提供预览版,从 ollama.com/download 下载 OllamaSetup.exe 安装。安装后可通过 PowerShell、CMD 或 WSL 使用 ollama 命令。

验证安装

打开终端(命令行),输入:

ollama --version

若正常输出版本号即安装成功。Ollama 服务会自动在后台启动,无需额外操作。

快速开始:下载并运行你的第一个模型

拉取模型

ollama pull llama3

这将下载 Meta 的 Llama 3 8B 模型(约 4.7 GB)。你也可以换成其他模型,例如:

  • ollama pull phi3(微软 Phi-3)
  • ollama pull mistral
  • ollama pull gemma:7b
  • ollama pull qwen2:7b(通义千问)

Ollama 模型库地址:ollama.com/library

直接运行(若模型不存在会自动下载)

ollama run llama3

随后会进入交互式对话界面,你可以直接向模型提问。示例:

>>> 你好,请用 Python 写一个斐波那契数列生成函数

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

单次问答模式

ollama run llama3 "Why is the sky blue?"

模型会直接输出回答,完成后回到终端。

模型管理与常用命令

列出已下载的模型

ollama list

输出格式:NAME ID SIZE MODIFIED
可清晰看到模型名称、版本标签、大小和修改时间。

查看模型详情

ollama show llama3

会显示该模型的 Modelfile(即创建该模型时所用的配置)、参数量、量化级别、架构等信息。

删除模型

ollama rm llama3

释放磁盘空间。

复制模型

ollama cp llama3 my-llama3-copy

创建一个别名,常用于基础复制后定制。

停止运行中的模型

Ollama 会按需加载模型,若无活动会自动卸载。若需立即释放内存,可手动停止:

ollama stop llama3

定制模型:使用 Modelfile

Ollama 的强大之处在于你可以用 Modelfile 自定义模型行为,就像编写 Dockerfile 一样。

创建你的第一个定制模型

新建一个文件 Modelfile,内容如下:

FROM llama3

# 设置系统提示词(角色设定)
SYSTEM "你是一位精通 Python、JavaScript 的编程助手。请用中文回答,代码要有详细注释。"

# 调整参数
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER num_ctx 4096

# 可选:设置对话模板
TEMPLATE """{{ if .System }}<|system|>
{{ .System }}<|end|>
{{ end }}{{ if .Prompt }}<|user|>
{{ .Prompt }}<|end|>
{{ end }}<|assistant|>
{{ .Response }}<|end|>
"""

保存后执行:

ollama create my-coder -f ./Modelfile

随后即可用 ollama run my-coder 使用这个定制的编程助手。

常见参数说明

  • temperature:控制随机性,0 为确定性,1 为更高创造性。
  • top_p:核心采样,通常与 temperature 搭配使用。
  • num_ctx:上下文窗口大小(Token 数量),越大可记忆更长的对话。
  • stop:设置停止词,如 "stop": "[/INST]"
  • seed:固定随机种子以复现结果。

基于不同基础模型和 GGUF 文件

Ollama 原生支持 GGUF 格式。若你有现成的 GGUF 文件,可在 Modelfile 中使用 FROM ./path/to/model.gguf

使用对话模板

对话模板决定了提示词如何被格式化。Ollama 支持 Go 模板语法,可参考官方文档针对不同模型(Llama、ChatML、Mistral 等)的默认模板进行修改。

进阶配置与优化

更改模型存储位置

默认模型存放于:

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

若系统盘空间不足,可更改环境变量 OLLAMA_MODELS

# Linux / macOS 示例
export OLLAMA_MODELS=/your/custom/path

建议将该变量写入 .bashrc.zshrc 使其永久生效。更改后需重启 Ollama 服务。

启用 GPU 加速

Ollama 会自动检测并利用 NVIDIA GPU(通过 CUDA)或 Apple Silicon(Metal)进行加速。
在 Linux 上:确保已安装 NVIDIA 驱动和 CUDA toolkit,Ollama 即可自动启用 GPU 推理。若需强制使用 CPU,设置环境变量 OLLAMA_NUM_GPU=0

限制并发与资源占用

通过环境变量控制:

  • OLLAMA_NUM_PARALLEL:最大并行请求数,默认 1。
  • OLLAMA_MAX_LOADED_MODELS:同时加载的模型数量,默认 1。
  • OLLAMA_KEEP_ALIVE:模型在内存中的保持时间,默认 5m(5分钟),可设为 0 表示立即卸载,-1 表示常驻。

示例:

export OLLAMA_KEEP_ALIVE=24h
ollama serve

开放 API 监听地址

默认 Ollama 的 API 只绑定 127.0.0.1:11434,若需被局域网其他设备访问,设置:

export OLLAMA_HOST=0.0.0.0:11434

然后重启服务。注意切勿直接暴露在公网,应配合防火墙或反向代理。

以服务方式运行(Linux)

安装脚本已注册系统服务。管理命令:

sudo systemctl status ollama
sudo systemctl restart ollama
journalctl -u ollama -f   # 查看日志

集成与应用

Ollama 提供了与 OpenAI 兼容的 API,因此可无缝对接众多前端与工具。

使用 REST API

示例:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "Why is the sky blue?",
  "stream": false
}'

聊天补全端点:

curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [{"role": "user", "content": "hello"}],
  "stream": false
}'

搭配 Open WebUI(原 Ollama WebUI)

Open WebUI 提供类似 ChatGPT 的界面,功能丰富:

  1. 使用 Docker 一键部署:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
  1. 浏览器访问 http://localhost:3000,注册后即可连接本地 Ollama 服务。

与 Continue、LangChain 等开发者工具集成

几乎所有支持 OpenAI API 的库都能通过简单配置指向 Ollama。例如 LangChain:

from langchain_community.llms import Ollama
llm = Ollama(model="llama3")
print(llm.invoke("What is the capital of France?"))

在 NextChat、Chatbox 等客户端中使用

设定 API 地址为 http://localhost:11434,模型名保持与 Ollama 模型名一致即可。

常见问题与技巧

Q:模型下载慢怎么办? A:Ollama 默认从海外拉取,可设置代理环境变量 HTTPS_PROXY 后重启服务。或者使用国内镜像源(部分社区提供,需自行查找),手动下载 GGUF 后通过 Modelfile 导入。

Q:多轮对话如何实现? A:使用 /api/chat 端点,在 messages 数组中维护历史记录。CLI 交互模式已内置多轮对话支持。

Q:模型占用内存太大? A:选择 :7b 甚至 :3b 参数的模型,或量化版本如 q4_0。Ollama 默认会根据系统内存选择合适的量化,你也可以显式指定标签:ollama run phi3:3.8b-mini-instruct-q4_0

Q:能否同时加载多个模型? A:可以,设置 OLLAMA_MAX_LOADED_MODELS 为更大的值,但会显著消耗内存。建议按需使用。

Q:为何模型回答质量不如云端? A:开源模型参数量普遍小于闭源商业模型,且量化可能带来一定损失。可通过自定义 Modelfile 优化提示词,或尝试更大的模型(如 llama3:70b,需较大显存/内存)。

Q:Ollama 支持微调吗? A:Ollama 本身不提供训练功能,但你可以用微调后的 GGUF 文件通过 Modelfile 导入,从而运行自己微调的模型。

总结

Ollama 将本地大模型的使用门槛降至极致,一条命令即可开始对话。通过 Modelfile 定制,你能打造专属的领域助手;与 API 和社区工具的无缝衔接,又让它成为智能应用本地化部署的优秀底座。无论是学习研究、日常提效,还是构建隐私优先的 AI 应用,Ollama 都是你探索本地 LLM 的最佳起点。

现在,打开终端,输入 ollama run llama3,开启你的离线大模型之旅吧!