是什么
Ollama 是一个开源的大模型运行工具,目标是让「在自己电脑上跑开源模型」这件事变得像安装一个普通软件一样简单。它把模型下载、格式处理、硬件适配和服务启动都封装了起来:装好之后,一条 ollama run 命令就能把模型拉到本地并开始对话。
除了命令行,Ollama 还会在本机启动一个 HTTP 服务(默认地址 http://localhost:11434),提供自有 API,同时兼容 OpenAI 和 Anthropic 的接口格式。这意味着很多原本调用云端大模型的应用,只要改一下接口地址,就能换成本地模型运行。
近年来 Ollama 的定位也在扩展:除了本地模型,它还提供不需要本地 GPU 的云端模型,并且可以一键启动 Claude Code、Codex、OpenCode 等编程智能体,让它们使用 Ollama 提供的开源模型。官方强调,本地运行的内容不会离开你的机器。
Ollama 支持 macOS、Windows 和 Linux,项目代码托管在 GitHub 上,并提供官方的 Python 和 JavaScript 库。
主要功能
- 一条命令运行模型。
ollama run gemma4会自动下载并启动模型,进入交互式对话。官方模型库涵盖编程、视觉、嵌入、推理等多类开源模型。 - 完整的模型管理。
ollama pull下载、ollama ls列出、ollama ps查看正在运行的模型、ollama stop停止、ollama rm删除,用法接近 Docker 管理镜像。 - 本地 API 服务。 提供聊天、生成、嵌入等接口,并兼容 OpenAI 与 Anthropic 客户端,方便现有应用迁移。
- 多种能力。 文档中列出了流式输出、思考模式、结构化输出、视觉理解、嵌入向量、工具调用和联网搜索等能力(具体取决于所用模型)。
- 用 Modelfile 定制模型。 可以基于已有模型设置参数、系统提示词和对话模板,打包成自己的模型。
- 云端模型。 登录后可以使用托管在云端的模型,也可以用 API Key 直接调用云端接口,不需要本地安装。
- 一键接入应用。
ollama launch claude等命令可以直接以 Ollama 模型启动编程智能体;在 macOS 上还能把 Ollama 模型接入 Claude 桌面版和 ChatGPT 桌面版。
技术原理
Ollama 的核心是一个常驻的本地推理服务。命令行工具、桌面应用和第三方程序都通过 HTTP API 与这个服务通信:客户端发出请求,服务负责按需加载模型到内存或显存、执行推理,并把结果以流式或一次性的方式返回。
模型以「Modelfile + 权重」的方式组织。Modelfile 类似 Dockerfile,用一组指令描述一个模型:
FROM(必填):指定基础模型,可以是已有模型,也可以是 Safetensors 或 GGUF 格式的权重文件;PARAMETER:设置温度、上下文窗口大小(num_ctx)等运行参数;TEMPLATE:完整的提示词模板;SYSTEM:系统提示词;- 另有
MESSAGE、LICENSE、CAPABILITY等指令。
运行 ollama create 时,Ollama 会把这些信息和权重打包成一个可直接运行的模型;ollama show --modelfile 则可以查看任意模型的 Modelfile。模型库中的同一个模型通常提供多种尺寸和量化版本,例如 gemma4 就有从 e2b 到 31b 的多个标签,方便按硬件条件选择。
本地与云端共用一套接口。 Ollama 的 API 同时提供本地和云端两个入口,路径规则保持一致:
- 自有 API:本地为
http://localhost:11434/api,云端为https://ollama.com/api; - OpenAI 兼容:本地为
http://localhost:11434/v1,云端为https://ollama.com/v1; - Anthropic 客户端:本地 base URL 为
http://localhost:11434,云端为https://ollama.com,客户端会自动拼接/v1/messages。
本地请求不需要密钥,云端请求则需要在请求头里携带 API Key。登录 Ollama 后,还可以通过本地服务转发调用云端模型。需要注意的是,创建、删除模型等操作只能在本地服务上进行。这种设计让应用可以在「本地调试」和「云端运行」之间平滑切换,只改地址、不改代码。
如何使用
- 安装。 从官网下载 macOS、Windows 或 Linux 版本,安装后在终端运行
ollama,按提示选择登录使用云端模型,或者选择本地模型。 - 运行模型。
ollama run gemma4
- 通过 API 调用。 本地调用不需要 API Key:
curl http://localhost:11434/api/chat -d '{
"model": "gemma4",
"messages": [{"role": "user", "content": "你好"}]
}'
- 用 OpenAI SDK 接入。 把 base URL 设为
http://localhost:11434/v1即可。 - 定制模型。 写一个 Modelfile,例如:
FROM gemma4
PARAMETER temperature 0.7
SYSTEM 你是一名耐心的编程老师,回答尽量简洁。
然后运行 ollama create my-tutor -f Modelfile,再用 ollama run my-tutor 启动。
项目地址
- 官网:https://ollama.com/
- 文档:https://docs.ollama.com/
- GitHub:https://github.com/ollama/ollama
- 模型库:https://ollama.com/search
应用场景
- 隐私敏感的数据处理:合同、病历、内部代码等不便上传云端的资料,可以完全在本机处理。
- 离线环境:在没有网络或网络受限的环境中使用大模型。
- 开发与测试:为应用接入大模型时,先用本地模型调试,降低 API 成本。
- 编程智能体的后端:让 Claude Code、OpenCode 等工具使用开源模型。
- 学习和实验:快速体验不同的开源模型,比较它们在具体任务上的表现。
常见问题
我的电脑能跑多大的模型? 主要取决于内存和显存。模型库会标注每个版本的大致体积,例如 gemma4 的小尺寸版本只有几 GB,大尺寸版本则接近 20GB。一般先从小尺寸版本试起,再根据速度和效果调整。
本地模型收费吗? 官方说明本地模型始终免费。云端模型提供免费额度和付费套餐,价格以官网为准。
数据会被上传吗? 本地运行时,数据不会离开你的机器。使用云端模型时,官方表示不会用你的提示词训练模型,具体以官方的数据处理说明为准。
怎么接入已有的应用?
大多数支持 OpenAI 接口的应用,把 base URL 改为 http://localhost:11434/v1、模型名改为本地模型名即可;Anthropic 客户端则把 base URL 设为 http://localhost:11434。