Ollama 本地大模型部署与使用指南
Ollama 是一款支持在本地运行大型语言模型的开源工具,兼容 Linux、Windows 和 macOS 系统。本文详细介绍了 Ollama 的安装方法、常用命令、硬件配置要求及自定义模型文件 ModelFile 的配置方式。同时涵盖了 Web UI 交互工具的使用、API 接口调用以及日志调试技巧,帮助用户快速搭建私有化大模型环境并进行高效开发。

Ollama 是一款支持在本地运行大型语言模型的开源工具,兼容 Linux、Windows 和 macOS 系统。本文详细介绍了 Ollama 的安装方法、常用命令、硬件配置要求及自定义模型文件 ModelFile 的配置方式。同时涵盖了 Web UI 交互工具的使用、API 接口调用以及日志调试技巧,帮助用户快速搭建私有化大模型环境并进行高效开发。

Ollama 是一个开源工具,旨在让开发者能够在本地机器上轻松运行大型语言模型(LLM)。它支持 Linux、Windows 和 macOS 操作系统,通过一行命令即可启动服务。Ollama 简化了模型的管理、下载和推理过程,使得私有化部署 AI 模型变得更加便捷。
推荐使用 Homebrew 进行安装:
brew install ollama
安装完成后,直接运行 ollama serve 启动服务,或者在后台运行:
ollama serve &
Linux 用户可以使用官方提供的安装脚本:
curl -fsSL https://ollama.com/install.sh | sh
安装后,服务通常会自动配置为 systemd 服务并开机自启。如果未自动启动,可手动执行:
sudo systemctl enable ollama
sudo systemctl start ollama
Windows 用户可以直接访问官网下载 .exe 安装包,双击运行即可。安装程序会自动创建桌面快捷方式并在后台启动服务。
对于容器化环境,可以使用官方 Docker 镜像:
docker pull ollama/ollama
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
使用 pull 命令从 Ollama 库中下载模型:
ollama pull llama3.1
ollama pull mistral
ollama pull phi3
使用 run 命令启动交互式对话:
ollama run llama3.1
在终端中输入提示词,模型将实时生成回复。
清理不再需要的模型以释放磁盘空间:
ollama rm llama3.1
查看本地已下载的模型列表:
ollama list
不同规模的模型对本地硬件资源有不同的需求。以下是常见模型的参数及体积参考:
| Model (大模型) | Parameters (参数量) | Size (体积) | Download (运行指令) |
|---|---|---|---|
| Llama 3.1 | 8B | 4.7GB | ollama run llama3.1 |
| Llama 3.1 | 70B | 40GB | ollama run llama3.1:70b |
| Llama 3.1 | 405B | 231GB | ollama run llama3.1:405b |
| Phi 3 Mini | 3.8B | 2.3GB | ollama run phi3 |
| Phi 3 Medium | 14B | 7.9GB | ollama run phi3:medium |
| Gemma 2 | 2B | 1.6GB | ollama run gemma2:2b |
| Gemma 2 | 9B | 5.5GB | ollama run gemma2 |
| Gemma 2 | 27B | 16GB | ollama run gemma2:27b |
| Mistral | 7B | 4.1GB | ollama run mistral |
| Moondream 2 | 1.4B | 829MB | ollama run moondream |
| Neural Chat | 7B | 4.1GB | ollama run neural-chat |
| Starling | 7B | 4.1GB | ollama run starling-lm |
| Code Llama | 7B | 3.8GB | ollama run codellama |
| LLaVA | 7B | 4.5GB | ollama run llava |
| Solar | 10.7B | 6.1GB | ollama run solar |
注意:运行大模型主要依赖内存(RAM)和显存(VRAM)。建议至少配备 16GB 内存以流畅运行 7B-8B 参数量的模型,运行更大模型则需要更高配置或量化版本。
ModelFile 是用于创建自定义模型的核心配置文件,允许用户指定模型推理相关的设置,如系统提示词、模板格式等。
创建一个名为 Modelfile 的文件,内容示例如下:
FROM llama3.1
SYSTEM "你是一个专业的编程助手,请用简洁的语言回答代码问题。"
PARAMETER temperature 0.7
PARAMETER top_p 0.9
使用 create 命令基于 Modelfile 构建新模型:
ollama create my-custom-model -f Modelfile
构建完成后,即可像普通模型一样运行:
ollama run my-custom-model
虽然 Ollama 提供了命令行接口,但为了更方便的交互体验,社区开发了多种 Web UI 工具。
GitHub 仓库地址:https://github.com/ollama-ui/ollama-ui
安装并启动后,访问 http://localhost:8000/?model=llama3%3Alatest 即可进入图形化界面。
Open WebUI 是目前最流行的第三方 Web 界面之一,支持多用户、知识库上传等功能。可通过 Docker 快速部署:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
Ollama 默认监听 11434 端口,提供 RESTful API 接口,方便集成到应用程序中。
发送 POST 请求至 /api/generate:
curl http://localhost:11434/api/generate -d '{
"model": "llama3.1",
"prompt": "为什么天空是蓝色的?",
"stream": false
}'
发送 POST 请求至 /api/chat:
curl http://localhost:11434/api/chat -d '{
"model": "llama3.1",
"messages": [
{"role": "user", "content": "你好"}
]
}'
使用 requests 库调用 API:
import requests
response = requests.post(
'http://localhost:11434/api/generate',
json={
'model': 'llama3.1',
'prompt': '请解释一下什么是人工智能',
'stream': False
}
)
print(response.json()['response'])
/Users/xxx/.ollama/logs/var/log/ollama/ 或通过 journalctl 查看可以通过环境变量开启详细日志输出:
OLLAMA_DEBUG=true ollama serve
这将打印详细的请求和响应信息,有助于排查连接或推理问题。
检查端口是否被占用:
lsof -i :11434
如有占用,终止进程或修改端口配置。
确保磁盘空间充足,且网络能正常访问模型仓库。如果是内网环境,需提前下载模型文件。
Ollama 为本地运行大模型提供了极简的解决方案。通过本文的介绍,您可以完成从安装、模型管理、自定义配置到 API 集成的全流程。无论是用于个人学习、开发测试还是生产环境的私有化部署,Ollama 都是一个值得尝试的高效工具。

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