所有文章
发布于 2026 年 5 月 7 日· 12 分钟阅读

在 VPS 上跑 Ollama,搭一个私有大模型 API

OllamaLLM大模型AIVPSAPIQwenLlama

为什么要自己跑模型

  • 隐私:代码和数据不发给 OpenAI / Anthropic,不用担心数据泄露
  • 费用:小模型几乎零边际成本,已有 VPS 白嫖算力
  • 无限制:没有 rate limit,不担心账号被封
  • 可控:选自己需要的模型,可以本地微调

但要说清楚:小模型(1B–7B 参数)能力远不如 GPT-4 / Claude 3.7。适合代码补全、文档摘要、简单问答等特定任务,不适合复杂推理和长文档写作。

→ 需要强模型能力?见《如何稳定访问 ChatGPT 和 Claude

关键词(可以展开学习): 参数量(B = billion)、量化(quantization / GGUF)、推理速度(tokens/s)、上下文窗口(context window)


选什么机器

CPU Only(普通 VPS,2–4 GB RAM)

能跑,但慢。适合偶发性使用或测试:

模型 内存需求 CPU 推理速度 适合场景
qwen2.5:0.5b ~800 MB 20–40 tok/s 测试连通性
qwen2.5:1.5b ~1.2 GB 10–20 tok/s 简单问答
qwen2.5:3b ~2 GB 5–10 tok/s 日常使用
llama3.2:3b ~2 GB 5–10 tok/s 英文任务

Vultr Tokyo 2 GB VPS 跑 qwen2.5:1.5b 约 8–12 tok/s,回答一个问题等几秒,勉强可用。

本地电脑(最推荐日常使用)

如果你有 Apple Silicon Mac 或独立显卡的 Windows,本地跑比便宜 VPS 快 5–10 倍:

设备 跑 qwen2.5:7b 速度
M2 MacBook Air(16 GB) 40–60 tok/s
RTX 4060(8 GB) 60–80 tok/s
M3 Pro(36 GB) 80+ tok/s

GPU VPS(按需使用)

Lambda Labs / RunPod / Vast.ai 提供按小时租 GPU 的服务。跑 7B 模型约 $0.3–0.6/小时,做批量任务或测试大模型时合算,日常不划算。


安装 Ollama

Linux(VPS 或 Ubuntu 本地)

curl -fsSL https://ollama.com/install.sh | sh

验证:

ollama --version
# ollama version is 0.x.x

Mac

brew install ollama
ollama serve   # 启动服务

或者直接下载 .dmg:ollama.com

Windows

下载安装包,安装后会在后台自动启动服务。


拉取并运行模型

# 先拉取模型文件(约 1–5 GB,取决于模型大小)
ollama pull qwen2.5:1.5b

# 启动交互式对话
ollama run qwen2.5:1.5b

对话示例:

>>> 解释一下 Linux 的文件权限,用新手能理解的方式
Linux 用三个字母组来表示权限:rwx(读/写/执行)...
>>> /bye

退出输入 /bye 或按 Ctrl+D

其他值得尝试的模型:

ollama pull qwen2.5:7b          # 更强,需要 4–5 GB 内存
ollama pull qwen2.5-coder:7b    # 代码专项优化
ollama pull deepseek-r1:7b      # 推理型,适合逻辑问题
ollama pull nomic-embed-text    # 文本向量化,用于 RAG

完整模型列表:ollama.com/library


通过 API 调用

Ollama 在 localhost:11434 提供 HTTP API,不需要额外配置:

# 基础生成接口
curl http://localhost:11434/api/generate \
  -d '{"model":"qwen2.5:1.5b","prompt":"什么是 Docker?","stream":false}'

# OpenAI 兼容接口(直接替换 OpenAI SDK 的 base_url)
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen2.5:1.5b",
    "messages": [{"role": "user", "content": "什么是 Docker?"}]
  }'

Python 调用(直接复用 OpenAI 库):

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama",  # 随便填,不校验
)

response = client.chat.completions.create(
    model="qwen2.5:1.5b",
    messages=[{"role": "user", "content": "用 Python 写一个冒泡排序"}],
)
print(response.choices[0].message.content)

从外网访问 Ollama API

默认 Ollama 只监听 localhost,有两种方式安全暴露:

方法一:Cloudflare Tunnel(推荐,不开防火墙端口)

在 Cloudflare Zero Trust 控制台配置一个 Tunnel,把 localhost:11434 映射到 ollama.yourdomain.com,再加 Cloudflare Access 限制只有你能访问。

→ 详细配置见《Cloudflare Tunnel:免费内网穿透

方法二:Tailscale(私有网络内访问)

在 VPS 上装 Tailscale 后,所有 Tailscale 设备都能通过 VPS 的 100.x.x.x 地址访问 Ollama,不经过公网。

# 把 Ollama 监听地址改为 Tailscale IP
sudo systemctl edit ollama

加入:

[Service]
Environment="OLLAMA_HOST=100.x.x.x"  # 你的 Tailscale IP

→ 见《Tailscale:五分钟组建私有局域网

方法三:直接开放(简单但风险高)

sudo systemctl edit ollama

加入:

[Service]
Environment="OLLAMA_HOST=0.0.0.0"
sudo systemctl daemon-reload && sudo systemctl restart ollama

然后开放 11434 端口:sudo ufw allow 11434

⚠️ 这样任何人都能调用你的 API,会白嫖你的 VPS 算力。至少加一个 Nginx + Basic Auth 做保护。


接 GUI 客户端

不想每次都用命令行,接个图形界面:

Open WebUI(类 ChatGPT 界面)

docker run -d \
  --network=host \
  -e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

访问 http://localhost:3000,支持多模型切换、对话历史、文件上传。

ChatBox / Cherry Studio

在软件设置里:

  • API Provider 选 OllamaOpenAI-compatible
  • Base URL 填 http://localhost:11434
  • 模型名填 qwen2.5:1.5b

管理模型

ollama list                  # 查看已下载的模型
ollama ps                    # 查看正在加载的模型
ollama rm qwen2.5:1.5b       # 删除模型(释放磁盘)
df -h ~/.ollama              # 查看模型占用磁盘

模型文件默认存在 ~/.ollama/models,每个模型 1–10 GB,VPS 磁盘注意别用满。


和 API 付费服务对比

自托管 Ollama(小模型) Claude / GPT API
成本 VPS 已有则近乎免费 按 token 计费
能力 适合简单任务 适合复杂推理
隐私 完全本地 数据发给第三方
速度(CPU VPS) 慢,5–15 tok/s 快,50+ tok/s
稳定性 你的机器 云服务 SLA

实际用法:Ollama 处理批量简单任务(数据提取、格式转换、代码补全),Claude / GPT 处理需要高质量输出的任务(写作、复杂分析)。