本地部署大模型:Ollama 部署与实战指南
本文介绍如何在本地机器通过 Ollama 部署和运行大语言模型。涵盖 macOS、Windows 及 Linux 系统的安装步骤,包括裸机部署与 Docker 容器化方案。详细讲解模型库使用、自定义 GGUF 模型导入、提示词工程及模型量化技巧。此外,还包含 REST API 服务启动方法、Python 调用示例、Open WebUI 可视化界面搭建以及 OneAPI 集成方案,帮助用户实现离线大模型应用开发与私有化部署。

本文介绍如何在本地机器通过 Ollama 部署和运行大语言模型。涵盖 macOS、Windows 及 Linux 系统的安装步骤,包括裸机部署与 Docker 容器化方案。详细讲解模型库使用、自定义 GGUF 模型导入、提示词工程及模型量化技巧。此外,还包含 REST API 服务启动方法、Python 调用示例、Open WebUI 可视化界面搭建以及 OneAPI 集成方案,帮助用户实现离线大模型应用开发与私有化部署。

在云端大模型服务之外,本地部署大语言模型(LLM)提供了数据隐私保护、离线可用及低延迟响应的优势。Ollama 是一款专为本地机器便捷部署和运行大模型而设计的工具,配合 Open WebUI 等前端界面,可构建完整的私有化 AI 应用环境。
本文将从零开始,详细介绍 Ollama 在不同操作系统下的安装、配置、模型管理及 API 调用方法。
在部署前,请确保硬件满足以下基本要求:
| 组件 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 4 核以上 | 8 核以上 |
| RAM | 8GB | 16GB - 32GB |
| GPU | 无 (CPU 推理) | NVIDIA GPU (支持 CUDA) |
| 磁盘 | 5GB 可用空间 | 50GB+ SSD |
注意:模型运行主要依赖内存带宽。若使用量化模型(如 Q4_K_M),7B 参数模型约需 5-6GB 显存/内存,13B 约需 8-10GB。
适用于 macOS 和 Windows 桌面用户。
Ollama-darwin.zip 并解压安装。OllamaSetup.exe 运行安装程序。安装完成后,终端输入 ollama -v 检查版本。
推荐使用 Linux 服务器以获得更好的性能稳定性。
使用官方脚本一键安装:
curl -fsSL https://ollama.com/install.sh | sh
安装成功后,系统会自动创建 systemd 服务。查看服务状态:
systemctl status ollama
若显示 active (running),则服务正常。
默认配置仅允许本地访问。如需局域网访问或更改存储路径,需编辑 /etc/systemd/system/ollama.service。
开启局域网访问:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
修改模型存储位置:
[Service]
Environment="OLLAMA_MODELS=/data/ollama/models"
指定 GPU 设备:
[Service]
Environment="CUDA_VISIBLE_DEVICES=0,1"
修改后重启服务使配置生效:
systemctl daemon-reload
systemctl restart ollama
适合希望隔离环境或快速验证的用户。
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always ollama/ollama
若宿主机拥有 NVIDIA GPU,需添加 --gpus=all 参数:
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
安全提示:生产环境中请勿随意暴露 11434 端口至公网,建议通过防火墙限制 IP 访问或使用反向代理。
ollama serve # 启动服务
ollama list # 列出已下载模型
ollama pull <model> # 拉取模型
ollama run <model> # 运行模型
ollama rm <model> # 删除模型
Ollama 官方 Library 托管了多种模型,从轻量级到大型模型均有覆盖。根据硬件资源选择合适的参数量:
示例:拉取并运行 Qwen2 模型
ollama run qwen2:0.5b
若模型不在官方库中,可通过 Modelfile 导入 GGUF 格式模型。
步骤 1: 创建 Modelfile 文件
FROM /root/models/Llama3-FP16.gguf
SYSTEM "You are a helpful assistant."
PARAMETER temperature 0.7
步骤 2: 创建模型
ollama create llama3-custom -f Modelfile
步骤 3: 运行
ollama run llama3-custom
Ollama 支持对 FP16/FP32 模型进行量化以节省资源。创建时添加 -q 参数:
ollama create -q Q4_K_M mymodel -f Modelfile
支持的量化级别包括 Q4_0, Q4_K_S, Q4_K_M, Q5_K_M 等,数值越小体积越小但精度略降。
Ollama 提供兼容 OpenAI 格式的 REST API,便于集成到现有应用中。
ollama serve
使用 requests 库发送请求:
import requests
import json
response = requests.post(
'http://localhost:11434/api/generate',
json={
'model': 'qwen2',
'prompt': '为什么天空是蓝色的?',
'stream': False
}
)
print(response.json()['response'])
设置 'stream': True 可实现类似 ChatGPT 的打字机效果,服务端会返回多个 JSON 片段。
Open WebUI 提供类 ChatGPT 的交互界面,支持多轮对话、文件上传等功能。
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
访问 http://your_ip:3000 注册账号后,在设置中添加 Ollama 地址为 http://host.docker.internal:11434。
OLLAMA_HOST 指定其他端口。systemctl 权限或尝试 sudo。--gpus=all 且宿主机驱动正常。Ollama 极大地降低了本地运行大模型的门槛。通过上述步骤,开发者可快速构建私有化 AI 能力,应用于文档分析、代码辅助、智能客服等场景。结合 Open WebUI 和 OneAPI,可进一步扩展为完整的企业级 AI 平台。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online