首页 / 资讯中心 / 文章详情

Ollama本地大模型保姆级部署教程:从零安装到API接入

Ollama本地大模型保姆级部署教程:从零安装到API接入 ★ FEATURED ARTICLE
三个多月里我被同一个问题反复问到就想在自己电脑上跑个大模型第一步到底该装什么每次我把命令发过去对方隔几天又回来说还是卡着。最后我发现大家卡住的节点高度一致无非是安装入口找错、环境变量没配、模型存到了 C 盘、下载慢到怀疑人生这几件事。所以我把完整的 Ollama 部署流程从头到尾重新走了一遍按最稳的路径写成这篇保姆级教程目标只有一个让完全零基础的读者也能在自己机器上跑通并长期使用本地大模型。Ollama 是目前上手门槛最低的本地大模型运行工具。它把下载模型、加载模型、对外提供调用接口这三件事封装成了几条简洁命令覆盖 Windows、Linux、macOS 三个平台对主流开源模型的支持也足够及时。通俗点说它像一个模型管家你想用哪个模型一句话它就帮你拉下来想释放内存一句话它就帮你卸载想让自己的程序调用本地模型它直接给你一个现成的接口协议。如果你嫌命令行不够方便它周边还有网页管理界面、桌面客户端和各种集成方案。适合这篇教程的人有三类手上有台闲置电脑、想体验本地大模型的个人用户打算把模型接进自己项目里做二次开发的程序员以及被网上各种零碎教程绕晕、只想有个照抄就能跑流程的朋友。这篇教程的路径是这样的先做部署前的硬件和磁盘准备再按三种操作系统分别走通安装与验证接着讲模型选型、下载和运行的核心命令然后是真正决定使用体验的环境变量配置最后是 API 接入、常见故障排查和进阶定制。所有环节用的都是官方安装包、官方脚本和常规的镜像加速手段不依赖任何特殊网络条件很适合按顺序照着做。1. 为什么非要把大模型装进本地先弄清 Ollama 到底解决什么问题先说清楚 Ollama 解决的痛点你才知道后面每一步在干嘛。过去想在本地跑一个大模型理论上需要自己处理一堆事去模型社区找权重文件、手动搭建推理环境、处理 CUDA 或 CPU 依赖、写调度代码把模型跑起来、再自己写一层 HTTP 接口给外部调用。这套流程对研究机构来说不算什么但对普通开发者和爱好者就是一道高墙。Ollama 把这条链路压缩成了拉取模型 运行模型两条命令底层所有细节都帮你包好了。我习惯用一个类比来解释它的定位直接用在线大模型 API相当于点外卖方便、选择多、口味稳定但每单都要付钱而且你的订单信息要经过别人的厨房本地部署 Ollama相当于自己开火做饭前期要备菜下模型、配环境但一旦开火想吃什么做什么食材全在自己冰箱里成本只有水电燃气。对隐私敏感、数据不能出内网、调用量大、需要反复微调参数的场景自己开火这条路不仅省钱更是唯一合规可行的方案。当然Ollama 不是什么银弹。它能帮你管理模型和提供推理能力但推理速度和质量最终取决于你的硬件。本地模型的能力上限和头部在线模型相比仍有差距这一点要有预期。不过对大多数内部工具、个人助理、文档问答、代码辅助等场景7B 到 32B 参数量级别的本地模型已经足够好用这也是 Ollama 社区热度持续走高的原因。2. 动手前先做三件事硬件评估、系统准备、磁盘规划很多教程上来就让你敲安装命令这是不对的。Ollama 安装本身很轻真正决定你体验的是机器硬件和磁盘规划。不提前盘算清楚很容易出现装好了但模型拉不动、拉下来但跑不动的尴尬。2.1 内存与显存决定你能跑多大模型大模型运行时模型权重必须全部加载进内存CPU 模式或显存GPU 模式。参数越大的模型占用的空间越大。刚才说的量化就是压缩手段最常见的是 q4_K_M效果和体积比较均衡一个 7B 模型的 q4 版本大约需要 4 到 5GB 存储运行时至少还需要 6 到 8GB 内存或显存。不同内存配置适合的模型规模可以参考这张表内存含显存推荐起步模型说明8GB 及以下3B 级别如 Llama 3.2 3B、Qwen2.5 3B能跑速度还行能力有限8GB - 16GB7B - 8B 级别如 Qwen2.5 7B、Llama 3.1 8B最均衡的入门区间16GB - 32GB14B - 27B 级别质量明显提升速度看显卡32GB 以上32B - 70B 级别接近在线小模型的体验这里有个容易踩的认知误区以为显存不够可以用内存顶。实际上 Ollama 在显存不足时会自动退回到 CPU 计算或混跑但速度会断崖式下降。所以做硬件评估时优先看你的 NVIDIA 显卡显存再叠加系统内存。显卡越新、显存越大能负载的模型就越豪华。2.2 显卡与驱动有 GPU 和没 GPU 是两种体验Ollama 在 NVIDIA 显卡上的支持最成熟检测到 GPU 后会优先把模型加载到显存。Linux 和 Windows 下只要装好较新的官方显卡驱动即可Ollama 自带所需的计算库不需要你手动配置 CUDA 工具包。这点让很多第一次接触的人省了大力气以前配深度学习环境光是 CUDA 版本地狱就能劝退一批人。没有 NVIDIA 独显也不用慌。Ollama 会退回纯 CPU 模式小模型3B 级别在主流台式机 CPU 上依然能跑出能用的速度只是 7B 以上模型会明显变慢。实测下来CPU 模式跑 7B 模型大约只有每秒几个 token 到十几个 token适合耐心等待的异步场景不适合实时对话。如果你想体验完整的流畅对话一张 6GB 显存的 NVIDIA 显卡是更现实的起点。2.3 磁盘空间与目录规划别忽视磁盘。每个 7B 模型的 q4 版本要占 4GB 左右14B 要 9GB 左右32B 要 20GB 左右而且你会想同时拉好几个模型轮流用。所以装 Ollama 之前先确认目标磁盘至少有 20GB 空闲越多越好。这里有一个几乎所有新手都会踩的坑Ollama 默认把模型文件放在系统盘用户目录下Windows 是 C:\Users\你的用户名.ollama\modelsLinux 下如果用了官方脚本则默认在 /usr/share/ollama/.ollama/models。如果你的系统盘本来就很紧张C 盘空间会被模型迅速吃光。强烈建议在开始拉模型之前就先规划好模型存放位置具体配置方法后面专门讲。顺序很重要先改路径再拉模型能省掉以后搬家的大麻烦。3. 三种系统的安装全程Windows、Linux、macOS 逐一走通Ollama 的安装对每个平台都有官方方案整体都不难但验证环节容易被跳过。下面按平台拆开每个步骤都能直接复制。3.1 Windows下载安装包一路下一步Windows 上的安装方式最简单去 Ollama 官网的下载页找到 Windows 版本安装包右键以管理员身份运行。安装过程基本是全自动的一路 Next 即可它会自动把 Ollama 注册成开机自启动的后台服务并在系统 PATH 中加入命令行工具。安装完成后有个高频踩坑点你从旧终端窗口里执行 ollama 命令系统会提示找不到命令。这不是没装好而是 PATH 环境变量只在新的终端窗口里生效。正确做法是重新打开一个终端再执行下面命令验证ollama --version如果能看到版本号说明安装成功。再执行ollama list此时输出应该是空的模型列表不要慌这是正常的你还没拉任何模型。同时注意系统托盘的图标Ollama 的后台服务已经常驻运行了。之后你做的每一次 ollama 命令操作其实都是让这个后台服务去执行。3.2 Linux一行脚本装好systemd 自动托管Linux 是最适合跑 Ollama 的平台官方提供了一键安装脚本。前提是你机器上有 curl绝大多数发行版默认都有。在终端执行curl -fsSL https://ollama.com/install.sh | sh脚本会帮你做几件事把 ollama 可执行文件放到 /usr/local/bin创建一个名为 ollama 的系统用户注册一个 systemd 服务并让服务开机自启。执行完先验证ollama --version systemctl status ollamasystemctl status 输出中应该能看到服务是 active (running)。如果服务没有自动起来用 systemctl start ollama 手动启动。日常管理看日志就用 journalctl -u ollama -f排查问题全靠它。补充一个 Linux 特有的细节官方脚本创建的服务是以 ollama 这个系统用户运行的所以模型文件默认放在 /usr/share/ollama/.ollama/models 而不是当前用户的 home 目录。后面配置环境变量时要注意你改的环境变量是给谁看的。如果你是手动下载二进制包放到别的位置那运行方式就和文本描述的略有差异需要自己用 ollama serve 前台拉起。3.3 macOS拖进应用程序目录即可macOS 用户爽一点去官网下载 macOS 安装包解压后把 Ollama 应用拖进应用程序目录首次打开时如果被 Gatekeeper 拦截在应用上右键选择打开再确认一次即可。打开应用后菜单栏会出现 ollama 图标命令行直接执行ollama --version如果提示找不到命令先确认应用是否真的启动了。macOS 的安装包其实自带命令行工具路径通常不需要手动加 PATH但遇到个别系统版本拦截时可以检查一下安装说明里的环境变量提示。三条平台线走下来你会发现 Ollama 安装本身没有任何技术难度真正的分水岭是后面的模型管理和配置。这也是为什么很多人装完 Ollama 就说装好了但三天后又回来问为什么跑不起来。4. 模型下载与运行从第一条命令开始真正用起来安装只是热身模型才是主角。这一节把 Ollama 的模型机制和核心命令讲透。4.1 选择模型的底层逻辑参数、量化与硬件预算Ollama 的模型笔记库里有大量开源模型名称格式是模型名:标签例如 llama3.2、qwen2.5:7b、deepseek-r1:14b。标签代表具体版本或量化格式不写标签时默认拉最新版通常是针对性优化过的 q4_K_M 量化版。量化可以理解为把模型的精度压缩全精度模型像一个保存了所有细节的照片原图文件巨大量化模型像压缩后的图片肉眼看差别不大但体积和内存占用大幅下降。q4_K_M 是目前 Odin 社区最常用的量化级别质量与体积的平衡性最好。对 7B 模型来说完整版可能要 14GB 以上q4_K_M 只要 4GB 左右而对话质量的差距普通用户几乎感觉不到。选模型的黄金法则是在你的内存/显存预算内尽量选参数量更大的模型在参数量相同的情况下再在质量和速度之间调整量化级别。拿不准时就先从 7B 级别的 q4 模型开始这是性价比最高的起步档位。4.2 核心命令链pull、run、list、ps、stop、rm把模型拉取到本地用 pull例如ollama pull qwen2.5:7b第一次会显示下载进度条下载完成后模型就静静躺在你的模型目录里了。想直接进入对话模式用 runollama run qwen2.5:7b如果该模型还没 pullrun 会自动先拉取再进入交互式对话界面。在对话界面里你可以像和一个 AI 聊天一样输入问题输入 /help 查看内置命令输入 /bye 或按 CtrlD 退出。这台模型的全部权重此时都加载进了内存或显存所以第一条回复往往比后续回复慢那是加载成本属于正常现象。管理本地模型全靠这三个命令ollama list # 查看本地已有哪些模型 ollama ps # 查看当前哪些模型正加载在内存/显存里 ollama stop qwen2.5:7b # 卸载指定模型释放资源 ollama rm qwen2.5:7b # 删除本地模型文件其中 ps 这个命令容易被忽略但它对排查模型为什么卡至关重要。它会告诉你每个加载中的模型占了多少内存、用了 GPU 还是 CPU后面排障全靠它。4.3 下载中断怎么办断点续传与磁盘检查大模型文件动辄几个 GB下载中断是家常便饭。Ollama 在较新版本里已经支持断点续传中断后重新执行相同的 pull 命令会自动从断点继续。所以遇到下载卡住不用删掉重来重跑一条 pull 命令就好。有几个下载期间的硬性注意事项一是确保磁盘空间足够下载前用 df 或 Windows 磁盘属性看一眼剩余空间二是拉取大模型时不要同时跑太多其他吃内存的应用下载过程中 Ollama 不会加载模型但解压写入磁盘时需要一定 IO 三是如果你的网络环境访问官方模型源较慢可以按下文第 5 节的方法配置镜像源下载稳定性会好很多。5. 改好这几个环境变量Ollama 才算真正落地Ollama 默认配置只适合体验,要让它变成一台真正可用的本地模型服务下面这几个环境变量是必改项。我按优先级从高到低讲。5.1 OLLAMA_MODELS把模型从 C 盘搬走这是我最想让你最先做的一件事。默认模型目录在系统盘一旦拉几个大模型C 盘立刻告急。先建好目标目录比如 D:\ollama\models然后设置环境变量。Windows 上可以用 GUI右键此电脑-属性-高级系统设置-环境变量在用户变量里新建 OLLAMA_MODELS值填 D:\ollama\models。也可以命令行执行setx OLLAMA_MODELS D:\ollama\models注意 setx 只对之后启动的进程生效所以设置完必须完全退出 Ollama右下角托盘图标右键退出再从开始菜单重新启动然后验证。Linux 上用 systemd 配置更加规范sudo mkdir -p /data/ollama/models sudo systemctl edit ollama在编辑器中写入[Service] EnvironmentOLLAMA_MODELS/data/ollama/models保存后依次执行 sudo systemctl daemon-reload 和 sudo systemctl restart ollama。如果你已经在默认位置拉过模型改完后把原模型目录整体移动到新目录即可Ollama 会自动识别不需要重新下载。5.2 OLLAMA_HOST让局域网里的其他设备也能访问默认情况下 Ollama 只监听 127.0.0.1:11434只有本机能访问。想让办公室局域网里的其他电脑调用这台机器的模型把监听地址改成 0.0.0.0# Windows setx 或 GUI 添加 OLLAMA_HOST0.0.0.0:11434Linux 同样在 systemd override 里加环境变量后重启。改完后同一局域网内的电脑就能通过 http://这台机器的IP:11434 访问接口了。这里必须提醒一句安全风险Ollama 本身没有用户认证机制把端口暴露到公网等于把你的模型机器裸奔在互联网上任何人都可以拉取模型、占用你的算力甚至读取模型文件。如果确实需要跨网络访问正确的姿势是把它放在内网或者前面加一层带身份认证的反向代理或网关。局域网内部使用也要注意 Wi-Fi 环境下敏感数据的暴露范围。5.3 性能三件套KEEP_ALIVE、NUM_PARALLEL、CONTEXT_LENGTH这三个变量直接决定你的模型响应速度和并发能力。OLLAMA_KEEP_ALIVE 控制模型在无请求后驻留内存的时间默认 5 分钟。如果容器场景下希望模型常驻、省去反复加载的时间可以设为 -1永久驻留。代价是显存一直被占用。OLLAMA_NUM_PARALLEL 控制同时处理多少个请求。默认情况下系统会根据剩余内存自动决定。如果你做的是内部工具多个用户同时发问可以手动指定到合适值。但要注意并行请求会成倍增加内存占用一定要算好账。OLLAMA_MAX_LOADED_MODELS 控制同时最多加载几个模型默认 GPU 上 1 个、CPU 上多个。OLLAMA_CONTEXT_LENGTH 控制模型上下文窗口长度默认是 2048 或 4096看版本。上下文越大模型能记住的对话内容越多但内存消耗也线性增长。处理长文档或长对话时再调大日常聊天保持默认即可。5.4 拉取太慢怎么办镜像源与下载习惯如果你在拉取模型时发现速度不理想或者进度条长时间不动有两个常规手段。第一是检查网络稳定性公司网络可能对海外流量有限速二是使用支持 Ollama 协议的开源镜像加速地址通过 OLLAMA_REGISTRY_MIRROR 环境变量指向镜像地址。设置方法和前面一致比如 Windows 在环境变量里加 OLLAMA_REGISTRY_MIRRORhttp://某个可用的镜像地址Linux 在 systemd override 里同样加上。要注意镜像源不是万能的个别镜像可能不支持全部模型标签。遇到某个模型在镜像源上拉不下来就把环境变量临时去掉回退到官方源重试。我自己的习惯是优先用镜像拉主流模型官方源留着兜底两条路都走不通时检查是不是磁盘满了或者目标模型名写错了。6. 接入 API 与 Web 管理界面本地模型开始服务别人命令行跑通只是第一步。真实项目中你几乎总是需要让程序或网页界面来调用模型。6.1 原生 API 与 OpenAI 兼容接口Ollama 自带一个 HTTP 服务默认监听 11434 端口。最基础的接口是 /api/generate直接一个 curl 就能测curl http://localhost:11434/api/generate -d { model: qwen2.5:7b, prompt: 用三句话解释什么是本地大模型, stream: false }返回的 JSON 里 response 字段就是模型生成的文本。接口还支持流式返回适合做成逐字输出的聊天效果。查看本机已加载的全部模型调 /api/tags。更让开发者兴奋的是Ollama 从很早的版本就提供了一份 OpenAI 兼容接口路径是 /v1/chat/completions。也就是说市面上绝大多数为在线大模型 SDK 写的代码只需要把 base_url 改成 http://localhost:11434/v1就能无缝切换成本地模型连参数格式都不用动。一个典型的请求长这样curl http://localhost:11434/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen2.5:7b, messages: [{role: user, content: 你好介绍一下你自己}], stream: false }这个兼容层是 Ollama 生态能快速膨胀的核心原因之一你不需要重写业务逻辑只改一个地址本地模型就接进了你原来的系统。6.2 Python 调用两行代码接入项目如果你的项目本来就是 Python 写的接入更加直白。用 requests 库直接调接口import requests resp requests.post( http://localhost:11434/v1/chat/completions, json{ model: qwen2.5:7b, messages: [{role: user, content: 写一个查找重复文件的 Python 脚本}], stream: False, }, ) print(resp.json()[choices][0][message][content])如果你用官方的 OpenAI SDK 写过程序这里只需要改两处base_url 指向本地地址api_key 随便填一个占位字符串Ollama 不校验证钥但协议要求有这个字段。其他一切照旧。这种零成本迁移是我在实际项目里最常用也最推荐的方式。6.3 网页管理界面一个命令就能起一个端到端平台不想写代码想要一个像在线聊天工具一样的界面用开源项目 Open WebUI一个 Docker 命令就能拉起来完整的前后端界面支持多用户、对话历史、模型切换、知识库接入一系列功能。前提是先装好 Docker然后执行docker run -d -p 3000:8080 \ --add-hosthost.docker.internal:host-gateway \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:main启动完成后浏览器打开 http://localhost:3000首次访问会要求注册一个管理员账号然后在设置里把 Ollama 服务地址填成 http://host.docker.internal:11434就能在网页上选模型、聊天、管理对话了。这套组合是我现在给朋友推荐的标准配置Ollama 做推理底座Open WebUI 做交互层一台普通台式机就能撑起一个小团队的内部 AI 助手。7. 高频故障排查清单把判断思路和修复手段一次讲清部署过程中遇到报错太正常了我也踩过不少坑。这里把高频问题按现象 - 判断 - 修复整理成清单按图索骥比上网乱搜高效得多。7.1 拉取模型卡在 0% 或中途掉线这是被问最多的一个问题。先确认不是磁盘满了再检查模型名是否拼写正确。如果下载到一半停了直接重新执行 ollama pull 同名模型Ollama 会从断点继续。如果反复在同一个进度区间卡死优先考虑镜像源问题和本地网络对长连接的稳定性问题。把 OLLAMA_REGISTRY_MIRROR 指向可用镜像重新 pull还不行就换官方源。另外下载期间不要关闭终端窗口有些旧版本在连接断开后不会自动恢复。7.2 模型加载失败内存、显存、上下文三连问常见的报错像 model requires more system memory 或者 failed to load model。遇到这类错误第一步不要急着删模型先用 ollama ps 看当前哪些模型还驻留在内存里把它们统统 stop 掉释放资源第二步看你的显存和内存是否达到模型最低要求第三步检查是不是上下文窗口开太大把 OLLAMA_CONTEXT_LENGTH 调回默认值再试。还有一种隐蔽情况明明有 GPU但模型还是跑在 CPU 上。用 ollama ps 看 PROCESSOR 列如果显示的是 CPU 而不是 GPU说明 Ollama 没有正确识别显卡。优先更新显卡驱动重启 Ollama 服务再试。对 AMD 显卡用户Linux 下的支持相对好一些Windows 下的体验则可能不完整这是客观现状建议主力平台选择 NVIDIA 或纯 CPU 方案。7.3 端口 11434 被占用或服务起不来Ollama 默认监听 11434如果你机器上已有其他程序占用了这个端口服务会启动失败。排查用 netstat -ano | findstr 11434Windows或 lsof -i:11434Linux/macOS找到占用进程后要么停掉它要么给 Ollama 指定别的端口把 OLLAMA_HOST 设成 127.0.0.1:11435 之类即可。Linux 下服务起不来优先看 journalctl -u ollama -f 的日志很多情况下是权限问题或 OLLAMA_MODELS 指向的目录没有写权限。确保目标目录属主是 ollama 用户或直接 chown 一下。7.4 升级、备份与还原Ollama 迭代很快升级时你不需要删掉现有模型。Windows 直接下载新版安装包覆盖安装Linux 重新执行官方安装脚本即可模型文件保留在 OLLAMA_MODELS 目录里不受影响。但升级前我强烈建议做一次模型目录的冷备直接把模型目录整个压缩复制到另一块硬盘。这样即使升级翻车或系统重装也能通过改回同样的环境变量 目录还原的方式快速恢复。我自己的备份周期是每个月一次模型文件虽然大但压缩后可以省不少空间这点时间投入对长期使用很值得。8. 进阶玩法用 Modelfile 定制一个专属模型最后分享一个让 Ollama 从能用变成好用的技巧Modelfile。你可以把它理解成模型的 Dockerfile——用几行配置在已有基础模型之上定制一个人设、一套参数、甚至一套提示词模板然后生成一个全新的本地模型。8.1 一个完整的定制案例假设你想做一个负责写代码、说话精炼的助手。新建一个文本文件叫 Modelfile内容如下FROM qwen2.5:7b SYSTEM 你是一位严谨的软件工程师。 回答时先给结论再给示例代码不要闲聊。 代码必须完整可运行。 PARAMETER temperature 0.3 PARAMETER top_p 0.8然后执行ollama create coding-assistant -f ./Modelfileollama create 会基于 qwen2.5:7b 生成一个带新系统提示词和参数配置的模型名字叫 coding-assistant。你不需要重新下载基础模型定制模型只记录差异不会复制一份完整权重到磁盘。用 ollama run coding-assistant 就能对话它的人设和回答风格会和基础模型明显不同。这个机制的妙处在于你可以为不同场景分别建模型——写代码用 coding-assistant客服问答用一个热情细致的版本翻译用一个低温度的严谨版本——切换成本几乎为零。8.2 参数到底怎么调Modelfile 里的 PARAMETER 控制生成的随机性。temperature 越高回答越发散越低越稳定top_p 是另一种采样控制方式一般和 temperature 搭配使用。做代码和数学任务时temperature 设在 0.3 以下效果最好做创意写作或头脑风暴可以调到 0.8 以上。系统提示词 SYSTEM 的作用则非常大你可以在里面限定输出格式、语气、字数甚至让它扮演特定角色。我在实际项目里发现很多时候模型能力是足够的缺的只是把需求说清楚——好的系统提示词能直接让输出质量上一个台阶。8.3 定制模型的维护定制模型随着基础模型升级可能需要重建。当你发现基础模型有了更好的新版本更新基础模型后重新执行 ollama create 即可让定制模型继承新能力。用 ollama show 模型名 可以查看定制模型的配置详情方便回顾。对已经稳定跑起来的机器我个人最后的建议是把 Ollama 当成基础设施来维护而不是当成一个一次性的玩具。改好 OLLAMA_MODELS 和 OLLAMA_HOST配好镜像源定期备份模型目录再用 Modelfile 把常用的场景沉淀成固定模型这套组合在你电脑上跑一两年都不会过时。以后不管外面出了什么新模型只要本地拉得动一条命令就能换这份自主感是用在线 API 完全体会不到的。
阅读完成 · 觉得有帮助?
咨询建站