AI项目博客
记录 AI 工程实践与大模型应用

企业级大模型私有化部署(三):AutoDL + Ollama 部署 qwen3:4b

「企业级大模型私有化部署」系列第 3 篇。目标:在 AutoDL 的 RTX 4090 上装 Ollama,跑 qwen3:4b,再通过 SSH 隧道接进 Dify。

结论:Ollama 负责「把大模型跑起来」,Dify 负责「把大模型用起来」。中间那根线是 SSH 隧道;隧道没通,Dify 里怎么配都看不到模型。

一、AutoDL 是什么

AutoDL 是面向开发者和企业的 GPU 算力平台,提供 RTX 4090、3090、A 系列等显卡,按小时计费。它的资源比较紧俏,一台 4090 每小时约 2 元,建议早上开机、晚上关机,长期保存用快照。

这套方案需要两台 GPU 服务器:一台装 Ollama,一台装 Xinference。两台都选 RTX 4090 24GB,单卡足够跑 qwen3:4b 和 bge 系列模型。

二、租赁 GPU 服务器

2.1 选服务器和镜像

进入 AutoDL 控制台,创建实例:

  • 地区:按可用资源选,示例选西北 B 区;
  • GPU:RTX 4090,单卡 24GB;
  • GPU 数量:1;
  • 计费方式:按量计费;
  • 镜像:PyTorch 2.1.2 / Python 3.10 / CUDA 11.8(按平台当前可选版本为准)。

AutoDL 选择 PyTorch 镜像

图 1:AutoDL 创建实例时选 PyTorch 镜像(示例 2.1.2 / Python 3.10 / CUDA 11.8)。

AutoDL 只开放 6006 端口,所以 Ollama 和 Xinference 都监听 6006,再用 SSH 隧道映射到 Dify 服务器。不要想着把 11434 直接开到公网,既不通也不安全。

2.2 登录与克隆实例

创建完成后,复制 SSH 登录指令,用 XShell 或 FinalShell 连接。默认用户名是 root,密码在控制台复制;首次连接输入 yes 保存指纹。

第二台 GPU 服务器不用重新配环境:在关机状态下,用「克隆实例」复制一个副本,改个名称即可。这样 Ollama 和 Xinference 两台机器的系统、CUDA、Python 版本一致,排错时少一个变量。

实例的目录约定:系统盘 / 放代码,实例关机数据不丢,但会随保存镜像一起保存;数据盘 /root/autodl-tmp 读写快,实例关机数据也不丢,但不会随镜像保存。大模型文件放数据盘。

注意:实例连续关机 15 天可能会被释放,释放后数据不可恢复;长期不用要保存镜像或快照。

2.3 开学术加速

AutoDL 提供学术资源加速,主要解决 GitHub、HuggingFace 等资源下载慢的问题。在终端执行:

source /etc/network_turbo

AutoDL 学术资源加速

图 2:AutoDL 的学术加速,在终端执行 source /etc/network_turbo。

它只影响当前终端,新开终端要重新执行;它不改变你的网络出口,也不保证稳定性,下载完就可以关掉。

三、Ollama 是什么

Ollama 是 GitHub 上的开源项目,定位是「本地运行大模型的集成框架」。它把模型权重、配置和必要数据封装进 Modelfile 定义的包中,实现模型的下载、启动和本地推理自动化。支持 macOS、Linux、Windows,安装过程都很简单。

官网是 https://ollama.com,模型库在 https://ollama.com/library,可以查看有哪些模型、多大、上下文多长。

四、安装并启动 Ollama

登录 GPU 服务器 A,开学术加速,然后执行安装脚本:

source /etc/network_turbo
cd /data/dify/   # 没有目录先创建:sudo mkdir -p /data/dify
curl -fsSL https://ollama.com/install.sh | sh

Ollama 官网下载与安装命令

图 3:Ollama 官网提供一条安装命令,Linux 直接执行即可。

安装完成后启动服务。把监听地址限制在本机 6006:

OLLAMA_HOST=127.0.0.1:6006 ollama serve

为什么只监听 127.0.0.1?因为对外只需要 SSH 隧道;直接监听 0.0.0.0 会把模型服务暴露到公网,任何人都能调。

如果希望服务在 SSH 断开后继续跑,用 screen 或 tmux 开一个会话再执行;不要直接依赖当前终端。

五、下载并运行模型

另开一个终端,下载并运行 qwen3:4b:

source /etc/network_turbo
OLLAMA_HOST=127.0.0.1:6006 ollama run qwen3:4b

qwen3:4b 大约 2.6GB,4K 上下文。下载完成后会直接进入对话,输入「你好」能回复就说明模型可用;按 Ctrl+D 退出对话。

Ollama 模型库里的 qwen3

图 4:Ollama 模型库里的 qwen3:4b,约 2.6GB。

显存小或下载慢,可以换更小的模型:

OLLAMA_HOST=127.0.0.1:6006 ollama run qwen2.5:1.5b
OLLAMA_HOST=127.0.0.1:6006 ollama list

Ollama 运行 qwen2.5 的终端

图 5:下载完成后直接对话;ollama list 能看到已安装的模型。

模型下载到数据盘,实例关机不丢;如果系统盘空间小,注意把 OLLAMA_MODELS 指到数据盘。

六、把 6006 隧道打到 Dify 服务器

在 Dify 服务器上执行:

ssh -CNg -L 6006:127.0.0.1:6006 root@<AutoDL SSH地址> -p <端口>

没有任何输出就是正常。这个命令会把 Dify 服务器的 6006 转发到 GPU 服务器的 6006;终端要一直开着,关掉隧道就断。

也可以使用 AutoDL 的桌面隧道工具:下载工具,粘贴 SSH 指令和密码,把本地端口填 6006,确认即可。图形工具和命令行二选一。

在 Dify 服务器上测试:

curl http://127.0.0.1:6006/api/tags

返回 JSON 里有 qwen3:4b,说明隧道和 Ollama 都通了。如果没有返回,先查隧道进程,再查 GPU 上的 ollama serve。

七、在 Dify 里接入 Ollama

Dify:设置 → 模型供应商 → 安装 Ollama(如果未安装)→ 添加模型。

Dify 添加 Ollama 模型

图 6:在 Dify 的 Ollama 供应商里点「添加模型」。

填写:

  • 模型名称:qwen3:4b,必须和 ollama list 里完全一致;
  • Base URL:http://<Dify服务器内网IP>:6006;
  • 模型类型:LLM;
  • 上下文长度:4096,按模型实际能力填。

保存后模型可能不会立刻出现,等一两分钟刷新。显示「配置成功」但列表为空,通常是在加载,不是失败;如果一直为空,检查内网 IP、端口和模型名。

Dify Ollama 供应商下的模型列表

图 7:Dify 的 Ollama 供应商里能看到 qwen3:4b 和 qwen2.5:7b。

用同样的方法可以再加一个 qwen2.5:7b,做速度/质量的对比。模型名称必须与 Ollama 里的一致,不能只写 qwen3。

八、验收

  1. GPU 上 OLLAMA_HOST=127.0.0.1:6006 ollama list 有 qwen3:4b;
  2. Dify 服务器上 curl http://127.0.0.1:6006/api/tags 有返回;
  3. Dify 模型供应商里能看到 qwen3:4b,并且开关是开的;
  4. 在 Dify 里新建一个聊天应用,选 qwen3:4b,能正常回答;
  5. GPU 服务器 nvidia-smi 能看到显存占用。

九、常见报错与处置

现象 原因 处置
Dify 添加成功但看不到模型 模型还在加载,或 URL / 模型名不对 等一两分钟;核对内网 IP、6006 和模型名
curl 隧道地址无返回 隧道没开,或 GPU 上的 serve 没跑 重开隧道;在 GPU 上确认 ollama serve
6006 被占用 Xinference 也要用 6006 Xinference 在 Dify 服务器上映射到 6007
模型下载慢 没有学术加速,或网络抖动 source /etc/network_turbo;换小模型
显存不足 / OOM 模型太大或并发太高 换 qwen2.5:1.5b;降低并发;换更大显存
Dify 用 127.0.0.1 连不上 Dify 在容器里,127.0.0.1 是容器自己 Base URL 用 Dify 服务器的内网 IP
SSH 断开后模型服务停了 前台进程随终端退出 用 screen / tmux 或 systemd 托管
实例被释放 连续关机 15 天 保存镜像/快照;长期不用先备份

十、成本与边界

4090 按小时计费,跑一天的成本可能比一台轻量云服务器还高。不用就关机,长期保存用快照;模型文件放在数据盘,重置系统不会丢数据盘。

Ollama 适合快速验证和单机推理;并发上来后,要考虑 vLLM、TGI 这类推理框架,或者多卡/多实例。qwen3:4b 是入门尺寸,复杂任务换更大的模型,显存和成本会同步上升。

下一篇

大语言模型有了,知识库还缺 Embedding 和 Rerank。下一篇在第二台 GPU 服务器上装 Xinference,部署 bge-large-zh-v1.5 和 reranker,再接到 Dify 的 6007 端口。

下一篇:企业级大模型私有化部署(四):Xinference 部署 Embedding 与 Rerank

上一篇:企业级大模型私有化部署(二):腾讯云 + Docker 起 Dify

赞(0)
未经允许不得转载:AI项目博客 » 企业级大模型私有化部署(三):AutoDL + Ollama 部署 qwen3:4b

评论 抢沙发

AI项目博客

专注 AI 工程化落地 —— 覆盖智能体、大模型、Java AI 与 Python 的学习笔记,以及 AI 平台的项目实战记录。

关于本站文章归档

登录

找回密码

注册