两分钟:按分钟租一张 4090/5090 跑 Ollama,拿到一个公网 HTTPS API 地址
在 cloudgpu.app 上按分钟租 RTX 4090($0.33/h)或 5090($0.59/h),Ollama 模板开机即带公网 OpenAI 兼容端点;实测冷启动 105 秒、首次推理 80 秒。附 curl、Python、Cursor 配置和背后的隧道原理。

Ollama 是跑开源模型最省事的方式,租一张 GPU 是笔记本跑不动时最省事的算力。一直不省事的是最后一步:拿到一个能从别的地方调用的地址。这篇带你从零到 curl https://…/api/chat 大约两分钟,顺带讲清背后在发生什么,出问题时知道往哪看。
下面所有数字都是 2026 年 9 月 6 日在 cloudgpu.app 上实测的。
需要什么
- 一个 cloudgpu.app 账号。新账号有 $1.00 试用额度,在 4090 上走完这篇教程够用。
- 其它什么都不用。不装 CLI,不配 SSH key,不碰 Docker。
第一步:部署 Ollama 模板
到部署页,选 Ollama,选一张卡,点 Deploy。
| 卡 | 每小时 | 适合 |
|---|---|---|
| RTX 3090(24 GB) | $0.21 | 7B~13B 模型,最便宜的试法 |
| RTX 4090(24 GB) | $0.33 | 7B~14B 全速,32B 4-bit 勉强 |
| RTX 5090(32 GB) | $0.59 | 32B 4-bit 有上下文余量,FP8 最快 |
模板里 Ollama 已经在跑,并预装了一个小模型(qwen2.5:0.5b),方便你在拉大模型之前先把链路打通。
第二步:等大约 100 秒
面板上实例先显示「启动中」再变「运行中」。我们实测:RTX 4090 105 秒可访问,RTX 5090 121 秒。
变成运行中后,实例那一行有两样东西:一条 SSH 命令,和一个 API 端点,形如
https://5a18f8b218351513-i.cloudgpu.app
这就是你的 Ollama 服务器。只在实例运行期间有效,id 是随机的,别外传。
第三步:调用
列模型:
curl https://5a18f8b218351513-i.cloudgpu.app/api/tags
对话(非流式):
curl https://5a18f8b218351513-i.cloudgpu.app/api/chat -d '{
"model": "qwen2.5:0.5b",
"stream": false,
"messages": [{"role": "user", "content": "用五个字打个招呼。"}]
}'
部署后的第一次调用会慢:Ollama 首次使用时把模型装进显存,0.5B 的测试模型我们等了约 80 秒,模型越大越久。之后每次都快,实测一次短对话经 Cloudflare 往返约 1 秒。
想立刻看到第一个 token 而不是等整段回答,用流式:
curl https://5a18f8b218351513-i.cloudgpu.app/api/generate -d '{"model":"qwen2.5:0.5b","prompt":"你好","stream":true}'
第四步:接进你的工具
Ollama 在 /v1 下暴露 OpenAI 兼容接口,所以任何能对接 OpenAI 的工具都能对接你这台机器。
Python(openai SDK):
from openai import OpenAI
client = OpenAI(
base_url="https://5a18f8b218351513-i.cloudgpu.app/v1",
api_key="ollama", # Ollama 不校验 key,但 SDK 要求非空
)
r = client.chat.completions.create(
model="qwen2.5:0.5b",
messages=[{"role": "user", "content": "一句话解释 LoRA。"}],
)
print(r.choices[0].message.content)
Cursor / Cline / Continue: 提供方选 OpenAI-compatible,Base URL 填 https://<你的 id>-i.cloudgpu.app/v1,key 随便填一个非空字符串,模型名按 /api/tags 列出的填。
第五步:拉你真正要用的模型
测试模型只是为了证明链路通。真正的模型从面板「拉取模型」按钮拉,或者 SSH 进去:
ssh root@<主机> -p <端口>
ollama pull qwen3:32b # 约 20 GB,5090 上 4-bit 放得下
ollama pull deepseek-r1:14b # 4090 上很宽裕
我们用的机房下载速度通常 100 到 200 MB/s,20 GB 的模型两三分钟。
第六步:关掉
用完在面板点销毁。按分钟计费,预扣那一小时里没用的部分退回余额。默认没有空闲自动关机:想让它跑一周就跑一周,只要余额够;余额将尽前 6 小时和 1 小时各有一封邮件提醒。
背后发生了什么
这一段给想知道原理的人看,也是这篇教程存在的原因。
大多数便宜的 GPU 供应商只对外开一样东西:8888 端口的 JupyterLab。Ollama 的 11434 从外面碰不到。更麻烦的是,实例在供应商的透明 HTTP 代理后面,连从实例内部往外 curl 80/443 都会失败或挂住。
你的实例开机时,我们的后端 SSH 进去装一个 16 MB 的反向隧道客户端(frpc),它从高位端口连出到我们的服务器,只转发模板的 API 端口。我们这边把隧道发布成 Cloudflare 后面的 https://<id>-i.cloudgpu.app。三件事让它不至于成为漏洞:
- id 是 16 位随机十六进制。Ollama 没有鉴权,「猜不到」是底线。
- 隧道服务器在接受任何隧道之前先问我们的后端,只接受为这台实例登记过的那个域名。从一台实例里泄露的 token 注册不了别的名字。
- 每条隧道限速 3 MB/s。跑 token 绰绰有余,当文件镜像不够用。大文件走供应商自己网络上的 JupyterLab 或 SSH。
JupyterLab、SSH 和文件传输留在供应商的地址上,只有 API 端口走我们的隧道。我们的带宽账单不会吓人,你的模型下载也不会被拖慢。
走完这篇教程花多少钱
在 RTX 4090 上完整跑一遍用了 11 分钟,$0.06;5090 上 12 分钟,$0.12。$1.00 的试用额度够用;之后在账单页用 USDT(TRC-20)或 PayPal 充值。
排错
- 实例那一行没有 API 端点。 隧道安装是尽力而为。装失败实例照样能 SSH:
ssh -L 11434:127.0.0.1:11434 root@<主机> -p <端口>,然后访问http://localhost:11434。带实例 id 到联系页告诉我们,我们去看日志。 - 第一次调用 504。 模型还在装载。重试,或者用流式。
- Cloudflare 的 404 页。 实例已销毁或隧道断了,看面板。
- 大模型首 token 慢。 那是显存装载。权重在本地盘上时,20 GB 的模型在 5090 的 PCIe 5 上大约 10 到 20 秒。
有问题或想加模板,联系我们。