跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI算法

Ollama 本地部署与运行大型语言模型指南

Ollama 在本地环境下的部署流程、配置方法及核心功能。内容涵盖 Linux 与 Docker 安装步骤、系统服务配置、模型拉取与运行、自定义 Modelfile 开发以及 REST API 集成方案。同时补充了 One-API 与 Open WebUI 的生态整合实践,并提供了常见问题的排查指南与 Python 客户端示例,旨在帮助开发者快速搭建私有化大模型运行环境。

开源信徒发布于 2025/2/6更新于 2026/7/2548 浏览
Ollama 本地部署与运行大型语言模型指南

Ollama 概述

Ollama 是一个专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计的工具。它简化了模型的管理、下载和执行过程,支持 macOS、Linux 和 Windows 平台。

官方网站:https://ollama.com/ Github:https://github.com/ollama/ollama

系统要求与前置条件

在开始部署之前,请确保您的环境满足以下基本要求:

  • 操作系统:macOS (12.3+), Linux (Ubuntu 20.04+, CentOS 7+), Windows (10/11)
  • 内存:至少 8GB RAM(推荐 16GB 以上以运行 7B 及以上参数量的模型)
  • 存储:根据模型大小预留空间,通常 4B-7B 模型需要 4-8GB 磁盘空间
  • GPU:可选,但推荐使用 NVIDIA GPU 以获得更好的推理速度。需安装 CUDA 驱动

安装指南

Linux 系统安装

在 Linux 服务器上,可以通过官方提供的脚本直接安装:

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

安装过程中会自动创建 ollama 用户,配置 systemd 服务,并尝试检测 NVIDIA GPU。

验证安装状态

安装完成后,检查服务状态:

systemctl status ollama

如果显示 active (running),则说明服务正常启动。查看版本信息:

ollama -v

输出示例:ollama version is 0.1.38

Docker 部署

对于容器化环境,可以使用 Docker Hub 上的镜像:

docker pull ollama/ollama
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

配置详解

1. 网络访问配置

默认情况下,Ollama 仅监听本地回环地址。若需远程访问,需修改 systemd 配置文件。

编辑 /etc/systemd/system/ollama.service,添加或修改环境变量:

[Service]
Environment="OLLAMA_HOST=0.0.0.0"

重载配置并重启服务:

systemctl daemon-reload
systemctl restart ollama

安全提示:开放 0.0.0.0 后,建议配合防火墙限制访问 IP,防止未授权调用。

2. 模型存储路径配置

默认模型存储路径因系统而异:

  • macOS: ~/.ollama/models
  • Linux: /usr/share/ollama/.ollama/models
  • Windows: C:\Users\.ollama\models

可通过环境变量 OLLAMA_MODELS 更改存储位置:

[Service]
Environment="OLLAMA_MODELS=/data/ollama/models"

权限问题处理: 若指定目录权限不属于 ollama 用户,服务将无法启动。解决方法如下:

chown -R ollama:ollama /data/ollama/models
chmod -R 755 /data/ollama/models

3. GPU 加速配置

在多卡环境中,可通过 CUDA_VISIBLE_DEVICES 指定使用的显卡:

Environment="CUDA_VISIBLE_DEVICES=0,1"

4. 调试日志

遇到启动问题时,可查看详细日志:

journalctl -u ollama -f

常用命令参考

Ollama 的 CLI 命令设计类似 Docker,易于上手:

命令描述
ollama serve启动 Ollama 服务
ollama create从 Modelfile 创建自定义模型
ollama show显示模型元数据
ollama run运行模型进行对话
ollama pull从仓库拉取模型
ollama push将模型推送到仓库
ollama list列出已下载模型
ollama rm删除模型

拉取与运行模型

以 Llama3 为例:

# 拉取模型
ollama pull llama3:8b

# 查看已下载模型
ollama list

# 运行模型
ollama run llama3:8b

运行后将进入交互式命令行模式,输入指令即可与模型对话。

自定义模型开发

基于 GGUF 导入

Ollama 支持加载经过量化处理的 GGUF 格式模型。首先准备一个名为 Modelfile 的文件:

FROM ./Llama3-FP16.gguf
PARAMETER temperature 0.7
PARAMETER top_p 0.9
SYSTEM "你是一个专业的技术助手。"

创建模型:

ollama create my-model -f Modelfile

运行:

ollama run my-model

参数调优

在 Modelfile 中可调整以下关键参数以优化生成效果:

  • temperature: 控制随机性,范围 0-2,值越高越发散。
  • top_p: 核采样阈值,控制词汇选择范围。
  • num_ctx: 上下文窗口大小,影响长文本处理能力。
  • num_gpu: 强制指定 GPU 层数。

从 PyTorch/Safetensors 转换

如需使用原生 HuggingFace 模型,需先通过 llama.cpp 转换为 GGUF 格式。此过程涉及量化(Quantization),可将 FP16 模型压缩至 INT4 或 INT8,显著降低显存占用。

REST API 集成

Ollama 提供标准的 HTTP API,便于与其他应用集成。

基础请求

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "你好啊"
}'

聊天接口

curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [
    { "role": "user", "content": "解释一下什么是大语言模型" }
  ]
}'

Python 客户端示例

import requests

response = requests.post(
    'http://localhost:11434/api/chat',
    json={
        'model': 'llama3',
        'messages': [{'role': 'user', 'content': '你好'}],
        'stream': False
    }
)
print(response.json()['message']['content'])

流式响应

设置 stream: true 可实现逐字输出,适合前端展示:

curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [{"role": "user", "content": "写一首诗"}],
  "stream": true
}'

生态工具集成

One-API 管理

One-API 可作为统一网关管理多个模型源。部署方式如下:

docker run --name one-api -d --restart always -p 3001:3000 \
  -e TZ=Asia/Shanghai justsong/one-api

在 One-API 后台添加 Ollama 渠道,填入本地服务地址(如 http://host.docker.internal:11434),即可通过 OpenAI 兼容接口调用。

Open WebUI 界面

Open WebUI 提供了友好的 Web 交互界面,支持多模型切换和历史记录管理。

Docker 部署
docker run -d -p 3000:8080 \
  -v open-webui:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:main
连接 Ollama

登录 WebUI 后,在 Settings 页面配置 Ollama Base URL。若 Ollama 与 WebUI 在同一宿主机,可使用 host.docker.internal;若在独立服务器,请填写对应 IP。

常见问题排查

1. 服务无法启动

  • 检查端口 11434 是否被占用:netstat -tulpn | grep 11434
  • 检查日志:journalctl -u ollama -xe
  • 确认 ollama 用户对模型目录有读写权限。

2. 显存不足

  • 尝试减小模型参数量(如使用 3B 或 7B 版本)。
  • 启用 CPU 卸载:在 Modelfile 中添加 PARAMETER num_gpu 0。
  • 增加 Swap 分区作为临时内存补充。

3. 远程连接失败

  • 确认防火墙规则允许 11434 端口入站。
  • 检查 OLLAMA_HOST 是否设置为 0.0.0.0。
  • 若使用 HTTPS,需配置反向代理证书。

卸载步骤

如需完全移除 Ollama:

# 停止服务
systemctl stop ollama
systemctl disable ollama

# 删除二进制文件
rm $(which ollama)

# 清理服务配置
rm /etc/systemd/system/ollama.service

# 删除用户和数据
userdel ollama
groupdel ollama
rm -r /usr/share/ollama

总结

Ollama 极大地降低了本地运行大模型的门槛,通过标准化的 CLI 和 API 接口,开发者可以快速构建私有化 AI 应用。结合 One-API 和 Open WebUI,可进一步扩展其管理能力与用户体验。在实际生产环境中,建议关注网络安全配置与资源监控,确保服务的稳定运行。

目录

  1. Ollama 概述
  2. 系统要求与前置条件
  3. 安装指南
  4. Linux 系统安装
  5. 验证安装状态
  6. Docker 部署
  7. 配置详解
  8. 1. 网络访问配置
  9. 2. 模型存储路径配置
  10. 3. GPU 加速配置
  11. 4. 调试日志
  12. 常用命令参考
  13. 拉取与运行模型
  14. 拉取模型
  15. 查看已下载模型
  16. 运行模型
  17. 自定义模型开发
  18. 基于 GGUF 导入
  19. 参数调优
  20. 从 PyTorch/Safetensors 转换
  21. REST API 集成
  22. 基础请求
  23. 聊天接口
  24. Python 客户端示例
  25. 流式响应
  26. 生态工具集成
  27. One-API 管理
  28. Open WebUI 界面
  29. Docker 部署
  30. 连接 Ollama
  31. 常见问题排查
  32. 1. 服务无法启动
  33. 2. 显存不足
  34. 3. 远程连接失败
  35. 卸载步骤
  36. 停止服务
  37. 删除二进制文件
  38. 清理服务配置
  39. 删除用户和数据
  40. 总结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Agent Skills 架构指南:构建可扩展 AI 代理能力
  • 鸣潮 QQ 机器人部署指南:集成早柚核心与 LLM 功能实战
  • AI产品经理:核心技能解析与职业发展指南
  • 服务器或本地部署鸣潮 QQ 机器人并接入大语言模型实现签到与查询功能
  • 算法题解:3661 可以被机器人摧毁的最大墙壁数目(离散化、线段树)
  • OpenClaw v2026.3.8 全平台部署教程
  • 9 款降低 AIGC 检测率的论文辅助工具介绍
  • FPGA 结构与 CAD 设计核心概念解析
  • 结构化的力量:ChatGPT 如何实现高效信息管理
  • CLAUDE.md 与 AGENTS.md 详解:让 AI 深度理解你的项目
  • 基于 Leaflet Trackplayer 的 WebGIS 高速公路轨迹可视化
  • 步进电机在创客项目中的72变:从3D打印到智能家居的跨界实践
  • OpenRouter 实战:用一个接口调用多家 AI 模型
  • Neo4j Windows 安装及环境配置教程
  • ModelSim 仿真软件安装与使用指南
  • ARM、AMD、Intel 架构详解
  • Windows 系统快速部署 llama-cpp-python 实现 AI 模型本地推理
  • 在Windows上离线部署OpenClaw与Ollama
  • C++ 设计模式核心分类与常用实现解析
  • Qwen3.5 核心特性详解:原生多模态与 Agent 能力解析

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online