2023 年中,我第一次在终端里敲下 ollama run llama2 的时候,其实没什么特别的期待——当时本地跑大模型的工具一大把,大部分都需要你跟 Python 环境、CUDA 版本、模型格式转换搏斗半天。Ollama 给我的第一感觉就是"这东西怎么这么简单",一行命令就把模型下下来跑起来了,跟 Docker pull 一个镜像一样丝滑。
两年多过去,Ollama 从一个极简的命令行工具长成了 GitHub 上 165k+ 星的庞然大物,成了本地 AI 部署的事实标准。它不仅跑通了桌面端应用、搞出了云服务 Turbo、接入了 VS Code、还孵化出了 OpenClaw 这个私有化 AI Agent 平台。更有意思的是,NVIDIA 在 CES 2026 上专门为 Ollama 和 llama.cpp 做了推理性能优化,RTX 显卡上的 token 生成速度提升了 30%。
这篇文章是我用了 Ollama 两年多之后的一个系统性梳理。不是那种"安装教程"或者"快速上手"——那些内容官方文档写得比我好。我想聊的是 Ollama 到底解决了什么问题、它的技术架构为什么能做到这么简单、它的生态在往哪个方向长、以及在 AI 开发的实际工作中怎么把它用好。
Ollama 的前世今生
创始团队和 Docker 基因
Ollama 由 Jeffrey Morgan 和 Michael Chiang 在 2023 年创立,公司注册在 Palo Alto,走的是 Y Combinator 孵化路线。
Jeffrey Morgan 的背景值得一说,因为它直接解释了 Ollama 为什么是今天这个样子。他之前创办过 Kitematic——一个 Docker GUI 工具,后来被 Docker 收购。之后他又做了 Infra,也是开发者基础设施方向。再之后他在 Docker 做过高级工程师和产品经理。
你看到了吗?这人的整个职业生涯都在做一件事:把复杂的底层基础设施包装成开发者友好的产品。Docker 把 Linux 容器从运维极客的玩具变成了每个开发者的日常工具。Ollama 做的是同一件事——把本地跑大模型从"需要深度 ML 经验"变成了"一行命令的事"。
Modelfile 的设计就是最典型的例子。它的语法跟 Dockerfile 长得几乎一模一样:
FROM llama3.3
PARAMETER temperature 0.7
SYSTEM "你是一个技术文档助手"
你可以用 ollama create my-assistant -f ./Modelfile 来创建自定义模型,就像 docker build 一样。这不是巧合,而是设计哲学的延续。
从 CLI 工具到平台:两年的进化轨迹
Ollama 的演进路径清晰地分为几个阶段:
第一阶段(2023 年中 - 2024 年中):做减法
最初的 Ollama 就是一个极简的 CLI 工具,核心能力就两个:一行命令拉模型,一行命令跑推理。这个阶段 Ollama 做的最正确的事情是克制——没有 GUI、没有花哨的功能、没有账号系统。就是把"本地跑模型"这一件事做到极致简单。
同时期 Ollama 开放了 REST API,默认跑在 localhost:11434,并且兼容 OpenAI 的 API 格式。这个决定影响深远——它让整个为 OpenAI API 构建的工具生态可以几乎零成本地切换到本地 Ollama。
第二阶段(2024 年中 - 2025 年中):扩能力
这个阶段 Ollama 快速补齐了开发者需要的核心功能:结构化输出(JSON Schema)、流式工具调用(Streaming Tool Calls)、多模态支持(图片和文档处理)、思考模式(Thinking Mode,对接推理模型的内部思考链)。
Modelfile 也在这个阶段引入了 ADAPTER 指令,支持加载 LoRA 适配器——你可以用 Unsloth 或 Hugging Face PEFT 在外部微调一个模型,然后通过 Ollama 的 Modelfile 直接加载微调后的适配器。
第三阶段(2025 年中 - 至今):做平台
2025 年 7 月 30 日,Ollama 推出了原生桌面应用(macOS 和 Windows),这是一个标志性事件——它意味着 Ollama 不再只面向终端用户,而是开始服务更广泛的受众。桌面应用有聊天界面、对话历史、上下文长度滑块、拖拽上传文件等功能。
2025 年 8 月,Ollama 推出了 Turbo——一个月付 $20 的云推理服务。这对一个以"本地运行"起家的产品来说是一个意味深长的转向。但 Ollama 把界限划得很清楚:本地功能完全免费,不需要注册账号。云服务是可选的增量。
2025 年底到 2026 年初,最大的变化是 OpenClaw 的整合和 ollama launch 命令体系的建立。ollama launch 让你可以一行命令启动 Claude Code、OpenAI Codex、OpenClaw 等编程工具,并自动配置 Ollama 作为模型提供者。Ollama 正在从"跑模型的工具"变成"连接模型和应用的平台"。
2026 年 3 月,Ollama 最新版本是 0.18.0,GitHub 星数超过 165k。
技术架构:Ollama 凭什么能做到这么简单
Go + llama.cpp:选型的巧妙
Ollama 的核心是用 Go 语言编写的,底层推理引擎通过 CGo 绑定调用 llama.cpp。
这个技术选型非常聪明。Go 语言擅长的是构建高性能的网络服务和 CLI 工具——交叉编译方便、二进制分发简单、并发模型成熟。llama.cpp 是 Georgi Gerganov 在 2023 年 3 月创建的项目,用纯 C/C++ 实现了 LLM 的推理,针对 CPU 和各种 GPU 做了极致优化。
Ollama 用 Go 来做上层的模型管理、API 服务、命令行交互,用 llama.cpp 来做底层的模型加载和推理计算。这种"上层用 Go 管调度,下层用 C++ 算推理"的分层架构,让 Ollama 同时获得了优秀的工程体验和接近极限的推理性能。
对比一下同期的其他工具你就能理解这个选型的价值:很多 Python 生态的推理框架(比如 transformers + PyTorch)虽然功能更全,但启动慢、依赖复杂、部署麻烦。Ollama 的单一二进制文件分发模式让安装变成了"下载 → 运行"两步。
GGUF:让大模型跑在消费级硬件上
Ollama 使用 GGUF(GPT-Generated Unified Format)作为模型的存储格式。GGUF 是早期 GGML 格式的继任者,提供了更好的兼容性、元数据处理和量化支持。
量化是 Ollama 能在消费级硬件上跑大模型的关键技术。简单说,量化就是把模型的权重从高精度(FP32/FP16)压缩到低精度(INT8/INT4 甚至 INT2)。一个 70B 参数的模型在 FP16 下需要约 140GB 内存,量化到 INT4 只需要约 35GB——这就是"在消费级显卡上跑大模型"的数学基础。
Ollama 在这方面做得特别好的一点是自动硬件检测和量化选择。你不需要自己判断"我的显卡应该跑哪个量化版本",Ollama 会根据你的硬件自动选择最优的量化级别。对于不想深入了解量化技术细节的用户来说,这个自动化大幅降低了门槛。
当然,如果你是进阶用户,也可以手动指定量化版本。比如 ollama pull qwen3.5:27b-q4_K_M 就是拉一个 Q4_K_M 量化的版本——这是目前公认的"质量损失最小、内存节省最大"的甜点量化级别。
REST API:兼容性是杀手级特性
Ollama 默认在 localhost:11434 上运行一个 REST API 服务,而且兼容 OpenAI 的 API 格式(通过 /v1 路径)。这意味着:
- 所有为 OpenAI API 开发的应用,换个 base_url 就能接入 Ollama
- LangChain、Spring AI 等框架的 OpenAI provider 直接可以用
- 前端 UI 工具(如 Open WebUI)可以无缝对接
Ollama 还有原生的 API 路径(/api/chat、/api/generate 等),支持更多 Ollama 特有的功能,比如思考模式(thinking)、原生工具调用等。
一个需要注意的实操细节:如果你用 Ollama 对接 OpenClaw 这样的 Agent 工具,不要用 /v1 的 OpenAI 兼容路径,因为在这个模式下工具调用不太可靠。要用原生的 Ollama API 路径。这个坑我自己踩过,也在 Ollama 的官方文档里被明确标注了。
模型管理:Docker 式的开发者体验
Ollama 的模型管理体验高度借鉴了 Docker 的容器管理:
ollama pull gemma3 # 类似 docker pull
ollama run gemma3 # 类似 docker run
ollama list # 类似 docker images
ollama rm gemma3 # 类似 docker rmi
ollama create my-model -f Modelfile # 类似 docker build
ollama push my-model # 类似 docker push(推到 Ollama 云仓库)
这套命令体系对任何用过 Docker 的开发者来说几乎零学习成本。而且 Ollama 的模型加载和卸载是按需自动的——当 API 客户端请求某个模型时,Ollama 自动加载;空闲一段时间后自动卸载释放内存。你不需要手动管理模型的生命周期。
生态版图:Ollama 连接了什么
Ollama 的价值不仅在它自己,更在于它连接的生态。到 2026 年,Ollama 已经成为本地 AI 生态的核心枢纽。
VS Code 原生集成
微软的 Visual Studio Code 现在通过 GitHub Copilot 直接集成了 Ollama。如果你本地安装了 Ollama,VS Code 会自动检测到它,你可以在 Copilot 的模型选择器里直接选择任何本地或云端的 Ollama 模型。这意味着你可以用本地的开源模型替代 Copilot 的云端模型做代码补全和对话——完全免费、完全私有。
ollama launch:一行命令启动任何 AI 编程工具
ollama launch 是 2025-2026 年 Ollama 最重要的新增能力。它让你一行命令就能启动各种 AI 编程工具,自动配置 Ollama 作为模型提供者:
ollama launch claude # 启动 Claude Code
ollama launch openclaw # 启动 OpenClaw
ollama launch codex # 启动 OpenAI Codex CLI
不需要手动设置环境变量、不需要写配置文件。ollama launch 自动处理模型发现、认证配置和提供者设置。
更有意思的是 --yes 参数支持非交互模式:
ollama launch claude \
--model glm-5:cloud \
--yes \
-- "对这个 PR 做 code review,然后在 GitHub 上发表评论。"
这让 Ollama 可以嵌入到 CI/CD 管线、Docker 容器、自动化脚本中。想象一下:你的 GitHub Actions 在每次 PR 时自动启动一个 Ollama + Claude Code 实例做代码审查,审完之后环境自动销毁。
OpenClaw:从 CLI 到私有 AI 助手
OpenClaw(前身叫 Clawdbot,后来因为商标问题改名)是 Ollama 生态里最引人注目的新项目。它是一个运行在本地的 AI 助手网关,可以打通 WhatsApp、Telegram、Slack、Discord、iMessage 等消息平台,让你从任何聊天工具跟本地 AI Agent 对话。
ollama launch openclaw 一行命令就能启动。它会自动安装 OpenClaw、配置模型提供者、启动网关守护进程、安装 Web 搜索和网页抓取插件。你可以在手机的 WhatsApp 上给 AI 发一条消息,让它帮你搜索信息、生成代码、分析文档——所有的推理都在你自己的机器上完成,数据不离开本地。
OpenClaw 还支持云端模型作为备选。推荐的搭配是:日常简单任务用本地模型(比如 Qwen3.5 27B),复杂推理任务用 Ollama 的云端模型(比如 Kimi-K2.5:cloud)。
使用 OpenClaw 时有一个硬件要求值得注意:它建议使用至少 64k token 上下文窗口的模型,因为 Agent 式的任务需要更大的上下文来完成多步骤操作。
Ollama Turbo:本地优先,云端兜底
2025 年 8 月推出的 Turbo 是 Ollama 的云推理服务,月付 $20。它的定位很明确:不是替代本地推理,而是补充。
对于硬件不够跑大模型的用户,Turbo 提供了一条低成本的路径来使用 Kimi-K2.5、GLM-5、MiniMax-M2.5 等需要大量算力的模型。对于已经有本地推理能力的用户,Turbo 可以作为"本地模型处理不了的任务"的 fallback。
2026 年 3 月的性能更新里,北美地区的 MiniMax-M2.5 和 Qwen3.5 云端模型响应速度提升了 2-10 倍,首 token 时间经常低于 1 秒。这对需要快速响应的 Agent 场景来说很重要。
与 Stanford 合作的 Secure Minions
2025 年 6 月,Ollama 与斯坦福大学 Hazy Research 实验室联合发布了 Secure Minions。这个项目让本地的小模型和云端的大模型协作工作,同时保持端到端加密——你的数据在传输和处理过程中始终是加密的,云端模型无法看到原始数据。
这解决了本地 AI 的一个核心痛点:小模型能力有限,但你又不想把敏感数据发到云端。Secure Minions 让你可以"两全其美"——敏感数据处理由本地模型完成,需要更强推理能力的部分由云端模型处理,但云端模型只能看到加密后的表示。
模型生态:Ollama 上能跑什么
截至 2026 年 3 月,Ollama 的模型库覆盖了几乎所有主流的开源大模型。从 Ollama 的 GitHub 首页标语就能看出来: "Get up and running with Kimi-K2.5, GLM-5, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models."
按用途分类:
通用对话和推理:Gemma 3、Qwen 3.5、GLM-5、MiniMax-M2.5、Llama 4、DeepSeek-R1——这些是你日常用来"聊天"和"推理"的模型。不同模型有不同的优势场景,比如 DeepSeek-R1 的深度推理能力很强,Qwen 3.5 的中文表现出色。
编码专用:Qwen3-Coder、GPT-OSS(20B/120B)——用于代码生成、代码审查、调试等编程任务。GPT-OSS 是 OpenAI 开源的编码模型,在 Ollama 上可以直接跑。
多模态:Gemma 3(支持视觉)、Mistral Small 3.1(视觉模型)——可以处理图片输入的模型,搭配 Ollama 桌面应用的拖拽功能使用体验很好。
推理/思考模型:DeepSeek-R1、QwQ——这类模型会在输出答案前先展示推理过程。Ollama 支持 Thinking Mode,你可以控制是否显示模型的思考过程。
轻量级/边缘部署:SmolLM、Phi-4、Gemma 3 1B——参数量小、推理快,适合在笔记本或嵌入式设备上运行。
一个实用的选型建议:如果你的机器有 8GB 显存,跑 7B-9B 的模型比较舒服。16GB 显存可以跑 27B-32B 的模型。24GB 以上可以尝试 70B 级别的模型(需要量化)。如果你只有 CPU,Ollama 也能跑,只是速度会慢很多——但对于离线场景或者隐私要求极高的场景,CPU 推理也是可用的。
Ollama vs 同类工具:怎么选
Ollama vs llama.cpp
Ollama 底层就是用的 llama.cpp,所以这两者不是"替代"关系,而是"包装层 vs 原始层"的关系。
llama.cpp 给你的是最大的灵活性——你可以精确控制量化方式、内存分配、采样参数、GPU 层分配等每一个细节。代价是你需要自己处理模型下载、格式转换、参数调优。
Ollama 把这些复杂性都封装了,换来的是极致的简洁。但这意味着在某些场景下你失去了对底层的精细控制。
我的经验法则是:开发和原型阶段用 Ollama,追求极致性能时考虑直接用 llama.cpp。 r/LocalLLaMA 上有不少用户反馈说,对于 27B 及以上的大模型,直接用 llama.cpp 确实能比 Ollama 榨出更好的性能。但对于大多数日常使用场景,Ollama 的便利性远超那点性能差异。
Ollama vs LM Studio
LM Studio 是 Ollama 最直接的竞品,它的核心卖点是 GUI 优先——精心设计的图形界面,对非技术用户更友好。
区别在于定位:LM Studio 更像"给普通人用的本地 ChatGPT",Ollama 更像"给开发者用的本地 AI 基础设施"。如果你需要 API 集成、Docker 部署、CI/CD 嵌入、跟其他开发工具联动,Ollama 是更好的选择。如果你只是想本地聊天不想碰命令行,LM Studio 可能更适合。
不过 2025 年 7 月 Ollama 推出桌面应用之后,两者的差距在缩小。
Ollama vs vLLM / TGI
vLLM 和 Hugging Face 的 Text Generation Inference(TGI)是服务端推理框架,面向的是生产级部署场景——高并发、高吞吐量、多用户服务。
Ollama 不是为这个场景设计的。它的核心是"单用户、本地、简单"。如果你需要给几百个用户同时提供推理服务,用 vLLM;如果你是一个开发者在本地跑模型做开发和测试,用 Ollama。
实操:怎么把 Ollama 用好
基础用法就不展开了
ollama pull、ollama run、ollama serve 这些基础命令在官方文档里写得很清楚,我就不重复了。说几个进阶的、文档里不太显眼但很有用的东西。
自定义模型的正确姿势
Modelfile 是 Ollama 自定义模型的核心机制。一个实际的例子:
FROM qwen3.5:27b
PARAMETER temperature 0.3
PARAMETER num_ctx 32768
SYSTEM """
你是一个资深的 Go 语言开发者和代码审查专家。
你的回答必须:
1. 直接指出问题所在,不废话
2. 给出修复建议和代码示例
3. 如果代码没问题就直接说"代码看起来没问题"
不要做过多解释和铺垫。
"""
然后 ollama create go-reviewer -f ./Modelfile 就创建了一个专门做 Go 代码审查的自定义模型。以后 ollama run go-reviewer 就直接用了。
如果你有 LoRA 微调的结果,可以这样加载:
FROM qwen3.5:27b
ADAPTER ./my-finetuned-lora.gguf
SYSTEM "你是一个 XX 领域的专家"
跟 Open WebUI 搭配使用
如果你想要一个类 ChatGPT 的 Web 界面,Open WebUI(原名 Ollama Web UI)是目前最成熟的搭配方案。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
然后打开 localhost:3000 就有了一个完整的聊天界面,支持多模型切换、对话历史、文件上传、RAG 等功能。
在生产环境中的注意事项
Ollama 默认只监听 localhost,如果你需要在局域网内暴露服务(比如开发团队共用一台 GPU 服务器),需要设置环境变量:
OLLAMA_HOST=0.0.0.0:11434
但请注意,不要在没有安全措施的情况下把 Ollama 暴露到公网。Ollama 的 API 默认没有认证机制,任何人都可以调用。如果你需要公网访问,应该在前面加一层反向代理(比如 Nginx)并配置认证。
还有一个容易忽略的点:Ollama 的并发处理。默认配置下,多个并行请求可能导致 OOM(内存溢出)。如果你的场景有并发需求,需要根据显存大小合理设置 OLLAMA_NUM_PARALLEL(并行请求数)和 num_ctx(上下文窗口大小)——这两个参数乘起来就是你的显存开销。
调试和性能监控
Ollama 0.18 版本加入了内置的 benchmarking 工具(./cmd/bench),可以对模型的推理性能做基准测试。这在选择模型和量化级别时很有用——你可以快速对比不同配置下的 tokens/second。
日常使用中,一个简单的性能监控方式是看 Ollama 的日志输出。运行 ollama serve 时,日志会显示每次推理的加载时间、prompt 处理速度和 token 生成速度。如果你发现 token 速度突然变慢,通常是因为模型被交换到了 CPU(显存不够了)。
能力边界:Ollama 做不到什么
聊完了 Ollama 的优势,也应该实话实说它的局限。
不是生产级推理服务器。 如果你需要给大量并发用户提供推理服务,Ollama 不是正确的工具。它没有请求队列管理、负载均衡、精细的资源调度这些生产级特性。这些场景应该看 vLLM、TGI 或者 TensorRT-LLM。
不支持原生的模型训练和微调。 Ollama 只管推理,不管训练。如果你需要微调模型,你得用 Unsloth、Hugging Face PEFT 等外部工具完成微调,然后把结果导入 Ollama。
模型格式有限制。 Ollama 主要支持 GGUF 格式。虽然它也能从 Safetensors 目录导入部分支持的架构,但如果你有一个自定义架构的模型,可能无法直接在 Ollama 上跑。
社区维护的开源项目风险。 虽然 Ollama 的发展很活跃,但它终究是一个创业公司的产品。如果你的生产系统依赖 Ollama,需要考虑供应商风险。它的 llama.cpp 依赖曾经引发过关于许可证合规性的社区争议,虽然 Ollama 团队已在积极处理。
云服务目前还在早期。 Turbo 在 2025 年 8 月才推出预览版,云端的模型种类、可用性和稳定性都还在建设中。如果你的业务需要可靠的云推理服务,目前可能还不适合完全依赖 Ollama Turbo。
未来方向:Ollama 要往哪走
从最近几个版本的更新和 Ollama 的产品动作来看,几个方向比较清晰:
从工具到平台。 ollama launch 命令体系和 OpenClaw 的整合表明,Ollama 正在从"一个跑模型的工具"转变为"一个连接模型和应用的平台"。它的目标不仅是让你跑模型,还要让你的模型和各种应用(编程助手、聊天工具、自动化脚本)无缝对接。
本地 + 云端的混合架构。 Secure Minions 和 Turbo 表明 Ollama 不再坚守"纯本地"的立场,而是走向"本地优先,云端补充"的混合架构。本地处理隐私敏感的数据,云端处理需要大算力的任务。这在实际使用中是最务实的方案。
跟 NVIDIA 的深度合作。 CES 2026 上 NVIDIA 专门为 Ollama 做了推理优化(RTX 上 token 生成速度提升 30%),并且推出了 NVFP4 和 FP8 量化支持、GPU Token 采样等新特性。这说明 NVIDIA 把 Ollama 视为 AI PC 生态的重要基础设施,未来的硬件优化会持续惠及 Ollama 用户。
Agent 化。 OpenClaw 的发展方向,加上 ollama launch 对 Claude Code、Codex 等 Agent 工具的支持,表明 Ollama 正在积极拥抱 AI Agent 的趋势——不仅让模型能回答问题,还要让模型能执行任务。
从一个更大的视角来看,Ollama 正在成为"本地 AI 的操作系统"——就像 Docker 成为了容器化的操作系统一样。它不直接做推理引擎(那是 llama.cpp 的事),不直接做模型(那是各家实验室的事),不直接做应用(那是 OpenClaw、Claude Code 等的事)。它做的是中间那一层:让模型和应用之间的连接变得简单。
这个定位如果能站稳,Ollama 的价值会随着开源模型生态和 AI 应用生态的增长而自然增长。
总结一下
如果你是开发者,还没用过 Ollama,现在就可以开始。一行命令装好,一行命令拉个模型跑起来,五分钟之内你就有了一个本地的 AI 推理服务。
如果你已经在用 Ollama,值得关注 ollama launch 和 OpenClaw——这两个东西正在改变"本地 AI"的使用方式,从"人工在终端里对话"进化为"AI Agent 自动执行任务"。
如果你是技术负责人,在评估本地 AI 部署方案,Ollama 是目前门槛最低、生态最丰富的选择。但要注意它的能力边界——它是开发和原型验证的利器,不是生产级推理服务的替代品。
对于中国开发者来说,Ollama 对 Qwen 系列、DeepSeek 系列、GLM 系列的支持都很好,这些模型的中文能力是一线水平。本地跑一个 Qwen3.5 27B,日常的代码辅助、文档写作、问题分析基本都能覆盖了。
编码规范、GEO、Cursor、VLA、智能体思考……AI 领域的每个新方向,最终都需要一个"跑模型的地方"。Ollama 正在成为这个"地方"的默认选项。
本文基于 Ollama 0.18.0(2026 年 3 月)的功能和生态。Ollama 的更新频率很高,建议读者关注 Ollama 官方博客(ollama.com/blog)和 GitHub Releases 获取最新动态。如果你有 Ollama 的使用技巧或踩坑经验,欢迎在评论区交流。