深夜想试一个新出的开源模型,传统路子是先装 CUDA、再对齐 PyTorch 版本、最后自己找量化权重,光环境就能折腾半小时。Ollama 把这整套压成了一条命令:装好它,敲 ollama run qwen3:4b,模型自动下载,稍等片刻就能在终端里对话。这篇文章带你把它装到自己的 Linux 服务器或旧笔记本上,今晚就能跑通第一个请求。
项目名片
| 项目 | 信息 |
|---|---|
| 仓库 | ollama/ollama |
| Star / Fork | 186,429 / 18,974(2026-11-10 抓取) |
| 技术栈 | Go + llama.cpp |
| 许可证 | MIT(LICENSE 原文核验) |
| 最新版本 | v0.40.15(2026-11-03 发布) |
| 默认端口 | 11434,仅绑定 127.0.0.1 |
| 最近提交 | 2026-11-09 |
它解决什么问题
本地跑模型的麻烦从来不在模型本身,而在周边:CUDA 和驱动版本要严丝合缝,权重文件要自己找量化版,Python 依赖互相打架。Ollama 把推理引擎和模型管理打包成一个二进制,模型下载像 docker pull 一样一条命令完成,权重、参数模板、对话模板一起拉下来。
一句话说清边界:它替掉的是环境折腾,替不掉的是训练和微调——Ollama 只管推理,想改模型本体还得回 PyTorch 那套工具链。某些场景下它可作为大厂云 API 的平替,替不掉的是大规模并发服务的稳定性与算力弹性。
常见的用法有两类:一类是把它当私人模型沙盒,写代码补全、总结文档、翻译草稿都在本地完成,敏感数据不出自己的机器;另一类是给内网系统当推理后端,FAQ 机器人、工单摘要、日志归一这类低并发场景,一台旧服务器就能顶上,不用申请任何云资源。
核心机制
- 推理层基于 llama.cpp 的 GGUF 量化方案,纯 CPU 也能跑,有显卡时自动把层切到显存里。用 ollama ps 能看到模型到底落在 GPU 还是内存(官方 FAQ 给的示例里,llama3:70b 显示 42 GB、100% GPU)。(推断:新手先跑 4B 级模型,体验差距最直观。)
- 服务层是一个本地 HTTP 服务,监听 11434 端口,提供 /api/chat 等接口,README 里就有 curl 调用示例。(推断:所以接入现有应用大多只需改一个 base 地址。)
- 模型默认在内存里保留 5 分钟再卸载,可用 keep_alive 参数或 OLLAMA_KEEP_ALIVE 调整,这是官方 FAQ 写明的行为,冷启动和常驻可以自己权衡。
- 默认上下文长度 4096 token,用环境变量 OLLAMA_CONTEXT_LENGTH 可调,改大更占内存,FAQ 原文给了 8K 的示例。
跑起来
下面两组命令二选一:裸机装法省资源、开机自启;Docker 装法好清理、方便换版本,按你机器的习惯选。
Linux 一键脚本(安装、建 systemd 服务一次完成):
curl -fsSL https://ollama.com/install.sh | sh
ollama run qwen3:4b
或者用 Docker,N 卡想用上显卡就加 --gpus=all:
docker run -d -p 11434:11434 \
-v ollama:/root/.ollama \
--name ollama ollama/ollama
docker run -d --gpus=all -p 11434:11434 \
-v ollama:/root/.ollama \
--name ollama-gpu ollama/ollama
容器里拉模型并进入对话:
docker exec -it ollama ollama run qwen3:4b
验证 API 是否可用(README 同款示例):
curl http://localhost:11434/api/chat -d '{
"model": "qwen3:4b",
"messages": [{"role": "user",
"content": "用一句话介绍你自己"}]
}'
从零到能用
- 按上面任一方式装好,浏览器打开 http://localhost:11434,看到 Ollama is running 即服务就绪。
- ollama pull qwen3:4b 先把模型拉下来,体积几个 GB,以进度条为准;网络不稳时断点重拉即可。
- ollama run qwen3:4b 进入终端对话,聊完输 /bye 退出。
- ollama ps 查看模型加载位置,PROCESSOR 列显示 100% GPU 说明吃上了显存。
- 用上面的 curl 打一次 /api/chat,确认接口通了。
- 接入桌面客户端或自己的代码,把 base 地址指到 http://localhost:11434 即可。
适合谁用 / 别用
适合:想本地摸一遍模型、数据不出内网、要给周报或简历加一个「本地大模型服务」条目的开发者,一台 16GB 内存的机器就能跑 4B 到 8B 级别的模型(推断:以 ollama ps 实测占用为准)。还有一类是想学前端接模型的人:Ollama 的接口风格和主流 SDK 兼容,改个地址就能用现成示例练手,是目前最省事的练手后端。
别用:需要训练、微调、大规模并发在线服务的团队——Ollama 默认单模型并行数是 1(OLLAMA_NUM_PARALLEL,FAQ 写明),它是给你的开发机准备的,不是给百人公司当公共 API 用的。
三个真实的坑
- 局域网访问不通。默认只绑 127.0.0.1,官方 FAQ 原文是「Ollama binds 127.0.0.1 port 11434 by default」。Linux 上要 sudo systemctl edit ollama.service,加上 Environment="OLLAMA_HOST=0.0.0.0:11434" 再重启;社区为此专门开了 issue #703(Allow listening on all local interfaces)。
- 下载到一半报 digest mismatch。这是模型下载中断导致校验失败,issue #941(
digest mismatchon download,160 多条讨论)里大量用户踩过。处理很简单:重新 ollama pull 让它续传或重下;强迫症的话先 ollama rm 掉半截模型再拉,更干净。国内网络拉模型慢时,挂着下、多试几次,比换源省事。 - Docker 里显卡不生效。官方 FAQ 写明 Docker GPU 加速需要先装 nvidia-container-toolkit,而 macOS 的 Docker Desktop 没有显卡直通,只能 CPU 跑;A 卡用户坑更多,去看 issue #738(AMD GPU & ROCm support,300 多条讨论)。
小结
回到开头那个深夜:装好 Ollama,一条 run 命令,几分钟内你就在自己的机器上跑通了一个大模型。它不替你训练模型,也不替你扛并发,但把「本地跑起来」这件事的门槛降到了一条命令。今晚花十分钟装上,明天你就能在周报里写点什么了。
参考资料
- 仓库:https://github.com/ollama/ollama
- README:https://github.com/ollama/ollama#readme
- 官方 FAQ:https://docs.ollama.com/faq
- 发布页:https://github.com/ollama/ollama/releases
- issue #703:https://github.com/ollama/ollama/issues/703
- issue #941:https://github.com/ollama/ollama/issues/941
- issue #738:https://github.com/ollama/ollama/issues/738
默认评论
Halo系统提供的评论