跳到主要内容

Ollama 本地部署配置指南:零成本离线跑大模型

用 Ollama 在本机跑开源模型,含安装、拉取模型、OpenAI 兼容 Base URL、局域网访问配置与显存不足等常见问题的排查表。

一、简介与适用场景

Ollama 把「在本机跑开源大模型」这件事压缩成了两条命令。它内置模型下载、量化格式管理和一个 OpenAI 兼容的本地服务,装完就能用现有的任何 OpenAI 客户端连上去。

本地部署真正不可替代的价值只有一个:数据完全不出本机。处理合同、病历、内部代码这类内容时,任何云端 API 都存在合规风险,而 Ollama 连网线拔了都能跑。附带的好处是零调用成本、无限流、无额度焦虑。

代价也很实在:效果与云端一线模型有明显差距,且吃硬件。经验值是——7B 级模型在 8GB 显存上能流畅跑,14B 需要 12GB 以上,32B 起步就得 24GB。纯 CPU 也能跑但速度会慢到难以交互。

适合看这篇的情况:处理敏感数据、需要离线可用、或者想在完全不花钱的前提下无限次调用。

二、安装与拉取模型

  1. 到 Ollama 官网 下载对应系统的安装包,Windows / macOS / Linux 都有。
  2. 安装完成后打开终端,执行 ollama --version 确认安装成功。
  3. 拉取一个模型,例如 ollama pull qwen2.5:7b。首次拉取需要下载数 GB 数据。
  4. 执行 ollama run qwen2.5:7b 直接在终端里对话,验证模型可用。
  5. 执行 ollama list 查看本地已有的所有模型。

Ollama 安装后会自动在后台常驻一个服务,默认监听 11434 端口。这就是你后面要填的接口地址来源。

三、Base URL 与鉴权

  • Base URL:http://localhost:11434/v1
  • 鉴权方式:不需要真实 Key,但多数客户端强制要求填写,随便填 ollama 即可
  • 对话端点:/chat/completions

这是全站唯一一个用 http 而非 https 的地址——因为它就在你本机,不经过网络。但也正因如此,如果你的客户端是部署在 https 网站上的网页版,浏览器会以混合内容策略拦截这个请求。解决办法是改用桌面客户端,或给 Ollama 套一层本地 https 反代。

若要让局域网内其他设备访问,需要把服务绑定地址改成 0.0.0.0:设置环境变量 OLLAMA_HOST=0.0.0.0:11434 后重启 Ollama,然后用本机内网 IP 替换 localhost。

四、客户端接入示例

以 Cherry Studio 为例:

  1. 打开「设置 → 模型服务 → Ollama」。
  2. API 地址填 http://localhost:11434,客户端会自动补 /v1。
  3. API 密钥随便填一个非空字符串。
  4. 点「管理」,客户端会自动列出你 ollama list 里的所有模型。
  5. 若显示连接失败,先在浏览器打开 http://localhost:11434,看到 Ollama is running 才说明服务正常。

五、代码示例

curl:

curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen2.5:7b",
    "messages": [{"role": "user", "content": "用一句话解释什么是 API"}]
  }'

Python:

from openai import OpenAI

client = OpenAI(
    api_key="ollama",            # 占位即可,本地服务不校验
    base_url="http://localhost:11434/v1",
)

resp = client.chat.completions.create(
    model="qwen2.5:7b",
    messages=[{"role": "user", "content": "用一句话解释什么是 API"}],
)
print(resp.choices[0].message.content)

Node.js:

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'ollama',
  baseURL: 'http://localhost:11434/v1',
});

const resp = await client.chat.completions.create({
  model: 'qwen2.5:7b',
  messages: [{ role: 'user', content: '用一句话解释什么是 API' }],
});
console.log(resp.choices[0].message.content);

六、常见错误排查

错误码现象原因解决方案
连接被拒ECONNREFUSEDOllama 服务没启动启动 Ollama,浏览器访问 11434 端口确认
404model not found模型没拉取,或标签写错先 ollama pull,用 ollama list 核对完整名
混合内容拦截网页版客户端连不上https 页面无法请求 http 本地服务改用桌面客户端,或配置本地 https 反代
输出极慢每秒只出几个字显存不足导致回落到 CPU 推理换更小参数或更低量化等级的模型
进程被杀加载模型时崩溃内存不足关闭其他程序,或换 7B 以下模型
局域网访问失败其他设备连不上服务只绑定了 127.0.0.1设置 OLLAMA_HOST=0.0.0.0:11434 后重启