在 VPS 上部署 Ollama 运行本地大模型

引言

大家好,今天想跟大家聊聊怎么在 VPS 上跑本地大模型。之前很多朋友觉得玩大模型必须得有个强力显卡的本地机器,动不动就要 RTX 4090 啥的,确实烧钱。但实际上,现在有很多轻量级的模型完全可以在云服务器上跑,而且效果还挺不错的。

Ollama 这个工具最近挺火的,它把一堆开源大模型打包成了简单易用的格式,安装和运行都特别方便。今天我就手把手教大家怎么在 VPS 上部署 Ollama,把本地大模型跑起来。

准备工作

在开始之前,咱们先聊聊需要准备什么东西。

VPS 选择

首先你得有一台 VPS。这里有个关键点:模型推理主要吃内存和 CPU,所以内存越大越好。我建议至少 4GB 内存,如果想跑稍微大一点的模型,8GB 以上会比较稳妥。CPU 的话,核心数多一点响应会更快。

硬盘方面,模型文件挺占空间的。一个 7B 参数的模型大概占 4-5GB,14B 的模型可能要 10GB 左右。所以建议 VPS 至少要有 30-50GB 的硬盘空间。

系统的话,Ollama 支持 Linux 和 macOS,咱们用 Ubuntu 20.04 或者 22.04 都可以。

端口和防火墙

记得在 VPS 的控制台开放 11434 端口,这是 Ollama 默认的 API 端口。防火墙也要放行这个端口,不然外部没法访问。

安装 Ollama

安装过程其实超级简单,比装个 Docker 还容易。

一键安装

SSH 登录到你的 VPS 后,直接运行官方提供的安装脚本:

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

脚本会自动检测你的系统,安装依赖,然后下载 Ollama 的二进制文件。整个过程大概一两分钟就搞定了。

安装完成后,你可以运行 ollama --version 看看版本号,确认安装成功。

验证服务

Ollama 安装完成后会自动启动服务。我们可以用命令检查一下状态:

ollama list

这个命令会列出当前已经下载的模型。刚开始自然是空的,我们来下载一个模型试试。

下载和运行模型

选择合适的模型

Ollama 支持很多开源模型,比较流行的有:

- Llama 2:Meta 开源的大模型,7B 版本对配置要求低

- Mistral:性能很不错的中等大小模型

- Qwen:阿里开源的中文模型,中文效果很好

- Phi:微软的小模型,2.7B 参数,非常轻量

如果是第一次玩,我建议从 7B 参数的模型开始,比如 llama2:7b 或者 qwen:7b。这些模型在 4GB 内存的 VPS 上就能跑,当然8GB 会更流畅。

下载模型

ollama pull 命令下载模型:

ollama pull llama2:7b

这个过程取决于你的网络和 VPS 的带宽。模型文件从几GB到十几GB不等,可能需要等待一段时间。下载完成后,模型会自动保存在本地。

运行模型

终于到了激动人心的时刻!我们来跑一下试试:

ollama run llama2:7b

这会启动一个交互式对话界面,你可以直接输入问题,模型会生成回答。试试看效果怎么样?

如果一切正常,你应该能看到模型在正常输出内容。虽然速度可能不如本地 GPU 快,但对于学习和测试来说已经完全够用了。

通过 API 调用

除了交互式对话,Ollama 还提供了 REST API,方便我们程序化地调用。

启动 API 服务

Ollama 默认就提供了 API 接口,地址是 http://localhost:11434。我们可以用 curl 测试一下:

curl http://localhost:11434/api/generate -d '{

"model": "llama2:7b",

"prompt": "你好,请介绍一下你自己",

"stream": false

}'

返回的内容就是模型的生成结果了。如果想流式输出,把 stream 改成 true 就行。

外部访问配置

默认情况下,Ollama 只监听本地端口。如果你想从外部访问,需要修改一下配置。

编辑 /etc/systemd/system/ollama.service 文件,找到 Environment="OLLAMA_HOST=..." 这一行,改成:

Environment="OLLAMA_HOST=0.0.0.0:11434"

然后重启服务:

sudo systemctl daemon-reload

sudo systemctl restart ollama

现在就可以通过 VPS 的 IP 地址从外部调用 API 了。比如:

curl http://你的VPS_IP:11434/api/generate -d '{

"model": "llama2:7b",

"prompt": "用一句话介绍北京",

"stream": false

}'

结合应用场景

有了 API,你就可以把大模型集成到各种应用里。比如:

- 做个简单的聊天机器人

- 接 入知识库问答系统

- 做文章摘要、翻译等文本处理任务

玩法还挺多的,大家可以发挥想象力。

常见问题和优化

内存不够怎么办

如果 VPS 内存较小,可以选择更小的模型。比如 phi:2.7b 只占用 2GB 左右内存,7b 模型则需要 6-8GB。

另外,也可以通过设置环境变量限制 Ollama 使用的内存:

export OLLAMA_NUM_PARALLEL=1

export OLLAMA_MAX_LOADED_MODELS=1

这样可以减少并发,降低内存占用。

响应速度慢

VPS 上跑模型比本地 GPU 慢很多,这是正常的。如果觉得太慢,可以考虑:

1. 选择更小的模型,参数越少越快

2. 减少生成的 token 数量

3. 升级 VPS 配置

模型管理

ollama list 可以查看已下载的模型。如果想删除某个模型:

ollama rm llama2:7b

这样可以释放磁盘空间。

总结

好啦,今天的教程就到这里。通过这篇文章,我们一起完成了:

1. 在 VPS 上安装 Ollama

2. 下载并运行第一个模型

3. 配置 API 实现外部访问

4. 解决一些常见的配置问题

总的来说,Ollama 让在服务器上跑大模型变得非常简单,即使是技术小白也能很快上手。虽然性能和本地 GPU 没法比,但对于学习、测试、轻量级应用来说已经完全够用了。

如果你对某个具体场景有兴趣,比如怎么搭建知识库问答系统,或者怎么做中文聊天机器人,欢迎在下面留言,我后面可以专门写写这些话题。

有问题也欢迎交流,咱们下期见!