1. 为什么本地跑大模型这件事,Ollama 值得你花十分钟试一次
很多人第一次听到“本地部署大模型”,脑子里浮现的画面是:一堆显卡、复杂的 Python 环境、CUDA 版本对不上、跑起来显存爆了。这个印象不算错,但那是两三年前的事了。现在如果你只是想在自己电脑上跑一个能对话、能写代码、能总结文档的模型,Ollama 基本把门槛压到了“会装软件就能用”的程度。
Ollama 是一个开源的大模型本地运行工具,核心价值就三件事:下载模型、运行模型、通过命令行或 API 调用模型。它把模型权重、推理引擎、运行环境打包成一个可执行程序,你不需要单独装 Python、不需要配 CUDA、不需要手动下载 GGUF 文件再折腾加载参数。装完之后一条ollama run命令就能开始对话,这对小白来说是非常友好的体验。
这篇文章适合谁看?三类人:第一类是完全没接触过本地大模型、想先跑起来看看效果的新手;第二类是在 Windows 或 Linux 上装过但卡在下载慢、命令报错、服务起不来这些环节的人;第三类是想把 Ollama 当成一个本地 API 服务,接进自己项目里的开发者。我会把 Windows 和 Linux 两条线的安装流程都讲清楚,重点放在实际会踩的坑上,而不是照抄官网那几句命令。
先说一个结论:Ollama 的安装本身不难,难的是网络环境导致的模型下载慢和不同系统下的服务启动方式差异。这两点后面会重点展开。
2. 装之前先搞清楚 Ollama 到底装了什么
2.1 它不是一个“模型”,而是一个模型运行器
这是新手最容易混淆的地方。Ollama 本身不包含任何大模型,它只是一个运行框架。你装完 Ollama 之后,硬盘上多出来的是推理引擎和命令行工具,模型需要你另外用ollama pull去下载。所以“Ollama 安装包很大”这个说法是不准确的,安装包通常几百 MB,真正占空间的是你后面下载的模型,一个 7B 参数的模型量化后大概 4GB 左右,13B 的会到 8GB 上下。
理解这一点很重要,因为它决定了你的磁盘规划。如果你 C 盘空间紧张,最好在安装前就把模型存储路径改到其他盘,否则默认会放在系统盘的用户目录下,几个模型下来几十 GB 就没了。
2.2 默认端口和服务模式
Ollama 安装后会在本地启动一个服务,默认监听11434端口。这个服务是你所有操作的入口:命令行ollama run是客户端,它把请求发给本地这个服务;你用 API 调用时也是请求这个端口。在 Linux 上它通常注册为 systemd 服务,开机自启;在 Windows 上它是一个后台进程,安装完会自动运行。
提示:如果你之后发现
ollama命令能执行但模型跑不起来,第一件事就是检查 11434 端口对应的服务是否在运行,而不是急着重装。
2.3 硬件门槛到底在哪
网上很多说法把门槛说得很玄。实际经验是:内存比显卡更关键。一个 7B 的量化模型,纯 CPU 加 16GB 内存就能跑,只是速度慢一些,大概每秒几个 token;如果有 8GB 显存的独立显卡,速度会明显提升。13B 模型建议 16GB 内存起步,32GB 会更从容。所以如果你是一台普通的办公本,16GB 内存,跑 7B 模型是完全可行的,不要被“必须上显卡”吓退。
真正会卡住你的是磁盘空间和下载速度,这两个才是新手翻车的高频点。
3. Windows 上的安装:别急着双击,先做两件事
3.1 安装前的两个准备动作
Windows 安装 Ollama 最省事的方式是去官网下载OllamaSetup.exe,双击一路下一步。但在双击之前,我建议你先做两件事。
第一件,确认系统版本。Ollama 对 Windows 的要求是 Windows 10 及以上,而且需要比较新的版本。如果你还在用很老的 Win10 早期版本,可能会遇到安装程序直接报错或者装完服务起不来。在“设置 - 系统 - 关于”里看一眼版本号,1809 以下的建议先更新系统。
第二件,规划模型存储路径。默认模型会下载到C:\Users\你的用户名\.ollama\models。如果你的 C 盘只剩几十 GB,强烈建议先改路径。方法是设置一个系统环境变量OLLAMA_MODELS,指向你想要的目录,比如D:\ollama\models。这个变量要在安装前或者安装后重启服务前设置好,否则已经下载的模型不会自动迁移。
设置环境变量的步骤:右键“此电脑” - 属性 - 高级系统设置 - 环境变量 - 在“用户变量”里新建,变量名OLLAMA_MODELS,变量值填你的目标路径。设完之后记得重启 Ollama 服务或者重启电脑让它生效。
3.2 安装过程与验证
双击安装包之后基本没有需要你选择的选项,装完会在开始菜单出现 Ollama 的图标,同时后台服务自动启动。验证是否装好,打开 PowerShell 或者 CMD,输入:
ollama --version能打印出版本号就说明命令行工具就位了。再输入:
ollama list如果返回一个空列表(没有任何模型),说明服务也正常在跑,只是你还没下载模型。这一步很多人会看到报错“could not connect to ollama app”,这通常意味着后台服务没起来,可以手动去开始菜单点一下 Ollama 图标,或者在任务管理器里看看有没有 ollama 相关进程。
3.3 Windows 上最常见的三个坑
第一个坑是安装完命令行找不到 ollama 命令。这通常是 PATH 没刷新,关掉当前终端重新开一个就好;如果还不行,检查安装目录有没有被加进系统 PATH。
第二个坑是防火墙拦截。有些安全软件会把 Ollama 的后台服务当成可疑进程拦截,表现是服务反复启动失败。遇到这种情况把 Ollama 加入白名单即可。
第三个坑是中文路径。虽然新版已经改善很多,但如果你的用户名是中文,偶尔还是会出现模型路径解析异常。稳妥做法就是把OLLAMA_MODELS指到一个纯英文路径下,比如D:\ollama\models,能避开很多莫名其妙的问题。
4. Linux 上的安装:一行命令背后的细节
4.1 官方脚本安装的实际过程
Linux 上最常用的安装方式就是官方提供的一行脚本:
curl -fsSL https://ollama.com/install.sh | sh这条命令做的事情是:下载安装脚本、检测你的系统架构、下载对应版本的二进制、创建 ollama 用户、注册 systemd 服务、启动服务。看起来一步到位,但实际执行时经常卡在下载环节,因为二进制包是从境外服务器拉的,速度可能很慢甚至超时。
如果你执行这条命令后长时间没反应,或者报 curl 相关的超时错误,不要以为是命令写错了,大概率就是网络问题。可以多试几次,或者换个时间段再试。
4.2 手动安装:当脚本不灵时的备选方案
脚本安装失败时,手动安装是更可控的方式。思路是:自己下载二进制压缩包,解压到/usr/local/bin,然后手动创建 systemd 服务文件。
下载地址在 Ollama 的发布页,选择对应架构的包,比如ollama-linux-amd64.tgz。下载下来之后:
tar -xzf ollama-linux-amd64.tgz -C /usr/local解压后二进制会在/usr/local/bin/ollama。然后创建服务文件/etc/systemd/system/ollama.service,内容大致如下:
[Unit] Description=Ollama Service After=network-online.target [Service] ExecStart=/usr/local/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3 [Install] WantedBy=multi-user.target注意这里用了一个ollama用户,你需要先创建它:
useradd -r -s /bin/false -m -d /usr/share/ollama ollama然后重新加载 systemd 并启动:
systemctl daemon-reload systemctl enable ollama systemctl start ollama这套流程比脚本麻烦,但好处是每一步你都知道在干什么,出问题也好定位。
4.3 验证服务与查看日志
Linux 上验证安装是否成功,除了ollama --version,更重要的是看服务状态:
systemctl status ollama如果显示 active (running) 就正常。如果失败,用journalctl -u ollama -f看实时日志,报错信息通常很明确,比如端口被占用、权限不足、二进制路径不对等。
注意:如果你之前手动跑过
ollama serve,可能会和 systemd 服务抢 11434 端口,导致服务起不来。先pkill ollama清理掉手动进程再启动服务。
5. 模型下载慢这件事,有几种务实的解法
5.1 先理解为什么慢
模型文件动辄几个 GB,从境外源拉取,速度受限于国际带宽,慢是常态。这不是 Ollama 的问题,任何从境外拉大文件的工具都会遇到。所以与其反复重试,不如换个思路解决。
5.2 可用的加速思路
第一种思路是使用国内镜像源。社区里有一些同步了 Ollama 模型库的镜像站点,把OLLAMA_HOST或者拉取地址指向镜像,速度会快很多。具体镜像地址会变动,建议在相关社区搜索最新的可用地址,这里不写死是因为镜像的可用性经常变化。
第二种思路是手动下载模型文件再导入。Ollama 的模型本质是 GGUF 格式加一个 Modelfile。你可以从其他渠道下载到 GGUF 文件,然后自己写一个 Modelfile 指向它,用ollama create导入。这种方式适合网络实在拉不动、但能通过其他方式拿到模型文件的场景。
第三种思路是错峰下载。深夜时段国际带宽通常更宽松,如果你不急着用,挂在那里慢慢下也是一种办法。ollama pull支持断点续传,中断了重新执行会接着下,不会从头开始。
5.3 下载过程中的常见报错
| 报错信息 | 可能原因 | 处理方式 |
|---|---|---|
| connection reset by peer | 网络中断 | 重新执行 pull,支持续传 |
| no space left on device | 磁盘满 | 清理空间或改 OLLAMA_MODELS 路径 |
| manifest not found | 模型名写错 | 用 ollama list 确认可用模型名 |
| timeout | 拉取超时 | 换时间段或换镜像源 |
这张表里的前两个是我自己遇到最多的。特别是磁盘满,因为模型下载是静默的,很多人下到一半才发现 C 盘红了。
6. 跑起来之后:几个立刻能用上的操作
6.1 第一次对话
下载完模型后,直接:
ollama run qwen2.5:7b(模型名以你实际下载的为准)回车后会进入交互式对话界面,直接输入问题即可。第一次加载模型会花几秒到几十秒,取决于你的硬件,之后就有上下文缓存了,响应会快一些。退出用/bye。
6.2 当成 API 服务用
Ollama 默认就暴露了 HTTP API,你可以直接用 curl 调用:
curl http://localhost:11434/api/generate -d '{ "model": "qwen2.5:7b", "prompt": "用一句话解释什么是递归" }'返回的是 JSON 流式数据。如果你要接进自己的程序,用/api/chat接口更合适,它支持多轮对话格式。这一点对开发者来说很实用,相当于你本地有了一个免费的、不依赖外部服务的模型接口。
6.3 常用管理命令
ollama list:查看已下载的模型ollama ps:查看正在运行的模型ollama rm 模型名:删除模型释放空间ollama show 模型名:查看模型参数信息
这几个命令日常用得最多,尤其是ollama rm,模型下多了之后磁盘管理全靠它。
7. 我踩过的几个坑,你可以直接绕开
第一个坑是在 Windows 上改了 OLLAMA_MODELS 但没生效。原因是环境变量设完之后没有重启 Ollama 服务,它还是用的旧路径。正确做法是设完变量后在任务管理器里结束 ollama 进程,再重新启动,或者干脆重启电脑。
第二个坑是Linux 上 curl 安装脚本执行到一半断了。这种情况不要直接重跑,先看看/usr/local/bin下有没有残留的 ollama 二进制,有的话删掉再重来,否则可能出现新旧版本混用导致服务异常。
第三个坑是以为模型越大越好。新手容易一上来就拉 70B 的模型,结果机器跑不动,体验极差。务实的选择是从 7B 开始,跑顺了再根据硬件往上试。模型效果和参数量的关系不是线性的,7B 的量化模型在日常问答、写代码辅助这些场景已经够用。
第四个坑是忽略内存占用。模型加载后会常驻内存,如果你同时开着浏览器一堆标签页、IDE、虚拟机,内存很容易吃紧,表现就是系统卡顿甚至模型被系统杀掉。跑模型的时候尽量关掉不必要的大内存程序。
8. 关于版本选择和后续维护的一点经验
Ollama 更新比较频繁,新版本会支持更多模型架构、优化推理速度。但我不建议无脑追新,尤其是你已经在生产环境或者日常依赖它的时候。稳妥做法是:看到新版本先看更新日志,确认有你需要的新特性或者修复了你遇到的问题,再升级。升级方式在 Windows 上就是重新下载安装包覆盖安装,Linux 上重跑安装脚本或者替换二进制。
另外,模型文件是可以跨版本复用的,升级 Ollama 不会导致已下载的模型失效,这一点可以放心。真正需要留意的是 Modelfile 的语法偶尔会有调整,如果你自己写过自定义模型,升级后最好验证一下还能不能正常加载。
最后说一个实际体会:Ollama 最大的价值不是让你跑一个多大的模型,而是把“本地模型”这件事变得足够简单,简单到你愿意去试。很多人卡在第一步就是因为觉得麻烦,而它恰好把麻烦的部分都封装掉了。装完之后你会发现,本地有一个随时能问、不联网、不花钱的模型,在很多场景下比想象中实用。