由于部署大模型的时候,Dify(腾讯云)和Ollama(AutoDL)在不同的服务器上,他们之间无法进行直接通信,这里使用SSH隧道进行转发端口。
在腾讯云服务器(Dify所在)上执行SSH隧道命令:
bash
ssh -L 6006:localhost:6006 -N root@<AutoDL公网IP> -p <SSH端口>
作用是:将腾讯云服务器本地的6006端口,通过SSH隧道,转发到AutoDL服务器的6006端口。
如果此时隧道建立成功,在Dify进行配置的时候,基础URL就应该是腾讯云服务器的本机地址,因为Dify访问本地端口,就相当于在访问AutoDL上的服务。
然而,AutoDL的指令无法直接使用

如果将该指令直接在腾讯云服务器上执行就会得到:

此时,还是无法连接到Dify
我们先进行隧道的排查与修复:
(1)确认隧道是否还在运行
腾讯云服务器上执行:ps aux | grep ssh | grep -v grep

可以发现缺少了端口参数转发 -L(之前的SSH命令只是登录到了AutoDL,没有做端口转发)
(2)终止错误的SSH连接
先终止当前错误的SSH连接:kill 763313
(3)重新建立正确的隧道
根据自己原始的SSH内容添加 -g -L参数:

这一步输入密码后不会显示出来,指针也不会移动,直接回车就好。执行后,终端会卡住不动,这是正常现象,说明隧道在运行,也不要关闭这个终端。
(4)验证隧道是否成功
保持隧道终端打开,另开一个腾讯云终端,执行:curl http://127.0.0.1:6006/api/tags

也可查看日志信息(verbose),显示完整的请求和响应过程:
bash
curl -v http://127.0.0.1:6006/api/tags

如上图所示即为隧道通了。
|------------------------|---------------------------|
| 参数 | 作用 |
| -C | 压缩数据,加快传输速度 |
| -N | 不执行远程命令,只做端口转发 |
| -g | 允许其他主机连接本地转发端口 |
| -L 6006:127.0.0.1:6006 | 端口转发:本地6006 → AutoDL的6006 |
| -p 23855 | 指定SSH端口 |
[各参数的作用]
(5)在Dify中配置
在Dify的Ollama配置中:
- 基础URL:http://腾讯云内网IP:6006
- 模型名称:qwen3.5:4b

如此,即可在Dify上配置Ollma下的大模型。