本地部署大模型的第一步,装个 Ollama 就够了

Ollama 是目前最流行的本地大模型运行工具之一——它把模型下载、量化、推理和 API 服务打包成一个极简的命令行工具,让用户在自己的电脑上就能运行开源大模型。本文合并 Ollama 官方 GitHub README官方文档站(docs.ollama.com),覆盖安装、日常使用、REST API 与生态集成。

Ollama Logo(图片来自 Ollama 官方仓库)
Ollama Logo(图片来自 Ollama 官方仓库)

一、安装

Ollama 支持 macOS、Windows 和 Linux(另有 Docker 镜像),安装方式:

# macOS / Windows:官网下载安装包
# https://ollama.com/download

# Linux 一键安装
curl -fsSL https://ollama.com/install.sh | sh

# Docker
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

二、快速上手:三步完成第一次对话

按照官方文档 Quickstart 的步骤:

第 1 步:安装完成后,在终端运行 ollama 打开交互式菜单。从菜单中可以:

  • Run a model——启动一次交互式聊天;
  • Launch tools——启动 Claude Code、OpenClaw、VS Code 等集成工具。

第 2 步:运行模型开始第一次聊天:

ollama run gemma4

云端模型的使用方式完全相同:

ollama run gemma4:cloud

第 3 步:发送第一条消息(例如 “Explain why the sky is blue in one paragraph.”),输入 /bye 退出聊天。

三、常用命令

命令作用
ollama run <model>下载并运行模型(本地不存在时自动拉取),进入交互式对话
ollama pull <model>仅下载模型到本地
ollama list列出本地已下载的模型
ollama ps查看当前正在运行的模型
ollama show <model>查看模型详细信息(参数量、量化、模板等)
ollama rm <model>删除本地模型
ollama serve启动 API 服务(安装包默认已作为后台服务运行)

四、REST API:与任意应用集成

Ollama 安装后 API 服务自动可用,默认地址为 http://localhost:11434/api。官方文档给出的 curl 示例:

curl http://localhost:11434/api/generate -d '{
  "model": "gemma4",
  "prompt": "Why is the sky blue?"
}'

常用的 API 端点包括:

端点功能
/api/generate文本生成(一次补全)
/api/chat多轮对话(消息列表)
/api/tags列出本地模型
/api/show查看模型信息
/api/embeddings生成文本向量

云端模型的 API 基地址为 https://ollama.com/api,与本地 API 完全一致——代码无需修改即可切换云端/本地。

五、OpenAI 兼容接口与官方库

Ollama 提供 OpenAI 兼容接口,凡是支持自定义 base_url 的 OpenAI SDK/应用都能直接对接,将 base_url 指向 http://localhost:11434/v1 即可。同时 Ollama 提供官方 Python 与 JavaScript 库:

# Python 官方库
pip install ollama

from ollama import chat
response = chat(model='gemma4', messages=[
    {'role': 'user', 'content': 'Why is the sky blue?'}
])
print(response['message']['content'])

社区维护的第三方库覆盖 Go、Java、PHP、Ruby、Rust、Swift 等十余种语言,完整列表见 Ollama GitHub 仓库。

六、工具集成

得益于 OpenAI 兼容接口,Ollama 已被大量主流工具支持,官方文档专门列出了集成指南,包括 Claude CodeVS Code、各类桌面客户端与 Web UI 等——把本地模型作为这些工具的后端,即可在完全不联网的环境里使用 AI 编程助手。

七、Modelfile:自定义模型

类似 Dockerfile,Ollama 用 Modelfile 描述一个模型的构建方式:

FROM qwen3:8b

# 调整生成参数
PARAMETER temperature 0.7
PARAMETER num_ctx 4096

# 设定系统提示词
SYSTEM """
你是一个严谨的技术助手,回答问题时要给出依据。
"""

然后执行 ollama create my-model -f Modelfile 即可基于基础模型创建带自定义配置的私有模型。支持从 GGUF 量化文件直接导入,也支持从 PyTorch Safetensors 导入并自动转换。

八、API 版本策略

官方文档说明:Ollama 的 API 没有严格的版本号,但保持稳定和向后兼容;废弃(Deprecation)极少发生,会在发布说明(release notes)中提前公告。

九、/api/generate 完整参数详解

按照官方 API 文档,/api/generate 端点支持以下主要参数:

参数类型说明(官方文档原文要点)
modelstring(必填)模型名称
promptstring用于生成回复的文本
suffixstring用于 fill-in-the-middle 模型:出现在用户提示之后、模型回复之前的文本
imagesstring[]Base64 编码的图片,供支持图像输入的模型使用
formatstring / object结构化输出格式:支持字符串 “json” 或 JSON Schema 对象
systemstring系统提示词
streamboolean(默认 true)为 true 时返回部分响应的流
thinkboolean / enum为 true 时在内容之外返回独立的思考输出;支持 “high”/”medium”/”low”/”max” 思考级别
rawboolean为 true 时跳过提示模板,返回模型原始回复
keep_alivestring / number模型驻留时长(如 5m;设 0 表示用完立即卸载)
optionsobject控制文本生成的运行时选项(temperature、num_ctx 等)
logprobs / top_logprobsboolean / integer是否返回输出 token 的对数概率及返回数量

响应体包含丰富的统计信息:response(生成文本)、thinking(思考输出)、total_duration/load_duration/eval_duration(以纳秒计的耗时)、prompt_eval_count/eval_count(输入/输出 token 数)等——方便做性能测量与成本核算。例如一个最小请求:

curl http://localhost:11434/api/generate -d '{
  "model": "gemma4",
  "prompt": "Why is the sky blue?"
}'

值得注意的三个能力:结构化输出(format 传 JSON Schema 即可约束模型按 schema 输出,适合程序化消费);多模态输入(images 参数传 Base64 图片即可做视觉理解);思考模型支持(think 参数控制思考输出与级别)。

参考来源

  • Ollama 官方文档(docs.ollama.com):Quickstart、API Introduction
  • Ollama 官方 GitHub README(github.com/ollama/ollama)
  • Ollama 模型库(ollama.com/search)
  • 官方 Python 库(github.com/ollama/ollama-python)、JavaScript 库(github.com/ollama/ollama-js)

本文为技术文档摘录整理,内容合并自下列官方资料(官方文档、官方 GitHub 仓库、论文与权威媒体报道),技术数字以官方原文为准,版权归原作者所有。

主要菜单