星图平台Qwen3-VL:30B教程:Ollama Web UI测试→Python API调用→Clawdbot模型切换

你是否想过,不用买显卡、不装驱动、不配环境,就能在本地跑起一个能看图又能聊天的30B级多模态大模型?本文就带你用CSDN星图AI云平台,从零开始完成整套私有化部署——不是概念演示,而是真实可运行、可验证、可复用的完整流程。

整个过程不需要写一行Dockerfile,不碰CUDA编译,不查报错日志。所有操作都在网页端点选+终端敲几行命令,连GPU型号都不用记。重点是:每一步你都能立刻看到反馈,每一处配置修改都有明确效果,每一个API调用都返回真实文本。

我们聚焦三件事:第一,让Qwen3-VL:30B在Ollama Web界面里真正“动起来”;第二,用最简Python脚本远程调通它的API;第三,把Clawdbot这个智能网关“接上”你的本地大模型,让它成为你飞书办公助手的真正大脑。不讲原理,只讲怎么做;不堆参数,只给结果。


1. Ollama Web UI快速验证:确认模型真正在跑

部署大模型最怕什么?不是显存不够,而是“看起来启动了,其实没反应”。所以第一步,我们跳过所有中间环节,直奔Ollama自带的Web交互页面——这是最直观、最无依赖的验证方式。

1.1 进入预装Ollama控制台

星图平台为Qwen3-VL:30B镜像预装了Ollama服务,并提供了快捷入口。实例启动后,在个人控制台找到 Ollama 控制台 按钮,点击即进入。这个页面不是静态文档,而是一个实时运行的多模态对话界面,背后直接连着你的GPU。

注意:这不是模拟界面,也不是前端Mock数据。你输入的每一句话,都会触发真实的模型推理,显存占用会实时变化。

1.2 发送第一条测试消息

在Web界面的输入框中,输入一句最简单的提问:

你好,你是谁?

点击发送。如果看到类似这样的回复:

我是通义千问Qwen3-VL,一个支持文本和图像理解的多模态大模型。我可以在本地环境中为你提供图文问答、内容生成等服务。

说明模型加载成功,基础推理链路完全打通。此时你可以顺手拖一张本地图片进去(比如手机拍的办公室照片),再问:“这张图里有哪些办公用品?”——如果它能准确识别出电脑、键盘、咖啡杯,那图文理解能力也已就绪。

这一步的意义在于:用最短路径建立信心。不需要看日志、不查端口、不配token,只要界面上有字出来,你就知道底层一切正常。

1.3 理解Web UI背后的机制

这个界面本质是Ollama提供的/api/chat接口的前端封装。它默认连接的是http://127.0.0.1:11434,也就是本机Ollama服务。星图平台已将该端口映射为公网URL,但Web UI本身走的是内网直连,所以响应极快,延迟几乎为零。

你不需要记住这个地址,但需要知道:只要Web UI能对话,Python API就一定能调通。因为它们共享同一套后端服务。


2. Python API调用实战:三行代码接入你的本地大模型

Web界面只是起点。真正要把模型能力嵌入工作流,必须通过API。好消息是:Qwen3-VL:30B在Ollama中注册为标准OpenAI兼容接口,这意味着你无需学习新SDK,用熟悉的openai包就能调用。

2.1 获取你的专属公网访问地址

星图平台为每个算力Pod分配唯一公网域名,格式为:

https://gpu-pod[一串字符]-[端口号].web.gpu.csdn.net/v1

其中端口号对应Ollama服务端口(默认11434)。你只需把示例代码里的base_url替换成自己实例的实际地址即可。

小技巧:在Ollama Web UI页面右上角,点击“Settings” → “API Endpoint”,就能直接复制当前可用的完整URL。

2.2 运行最简Python调用脚本

以下代码无需安装额外依赖(openai包星图环境已预装),复制粘贴即可运行:

from openai import OpenAI

client = OpenAI(
    base_url="https://gpu-pod697b0f1855ba5839425df6ea-11434.web.gpu.csdn.net/v1",
    api_key="ollama"
)

response = client.chat.completions.create(
    model="qwen3-vl:30b",
    messages=[{"role": "user", "content": "用一句话介绍你自己"}]
)
print(response.choices[0].message.content)

运行后,你会看到终端输出模型的自我介绍。如果报错,请重点检查两点:

  • base_url末尾是否漏了/v1
  • api_key是否写成"ollama"(注意是字符串,不是变量)

2.3 验证多模态能力:传图+文字联合推理

Qwen3-VL的核心价值在于“看图说话”。Ollama API支持Base64编码图片传入。下面这段代码演示如何上传一张本地截图并提问:

import base64
from openai import OpenAI

def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')

client = OpenAI(
    base_url="https://gpu-pod697b0f1855ba5839425df6ea-11434.web.gpu.csdn.net/v1",
    api_key="ollama"
)

# 假设你有一张名为'screenshot.png'的本地图片
image_base64 = encode_image("screenshot.png")

response = client.chat.completions.create(
    model="qwen3-vl:30b",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "这张截图里显示了什么内容?请分点说明"},
                {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{image_base64}"}}
            ]
        }
    ]
)
print(response.choices[0].message.content)

这段代码的关键在于content字段是列表而非字符串——它同时包含文字指令和图片数据。只要你的图片能被正确读取并编码,模型就会给出图文结合的分析结果。


3. Clawdbot模型切换:把Qwen3-VL:30B变成你的智能网关大脑

Ollama Web UI和Python API解决了“能用”的问题,而Clawdbot解决的是“好用”的问题。它就像一个智能路由器:把飞书、钉钉、企业微信等不同入口的请求,统一调度到你的本地大模型上,并管理会话、记忆、插件等高级能力。

3.1 安装与初始化:两分钟完成基础搭建

Clawdbot在星图环境已预装Node.js并配置国内镜像源,全局安装只需一条命令:

npm i -g clawdbot

安装完成后,执行向导命令:

clawdbot onboard

向导会依次询问:

  • 是否启用Tailscale(选否)
  • 是否启用OAuth登录(选否)
  • 是否启用本地文件存储(选是)

其余选项全部回车跳过。向导结束后,Clawdbot会在~/.clawdbot/下生成初始配置文件,这是后续所有定制的起点。

3.2 启动控制面板并修复公网访问

默认情况下,Clawdbot只监听127.0.0.1:18789,外部无法访问。我们需要修改配置使其支持公网访问:

vim ~/.clawdbot/clawdbot.json

定位到gateway节点,修改三项关键配置:

"gateway": {
  "bind": "lan",
  "port": 18789,
  "auth": {
    "mode": "token",
    "token": "csdn"
  },
  "trustedProxies": ["0.0.0.0/0"]
}
  • bind: "lan" 表示监听所有网络接口
  • token: "csdn" 是你自定义的访问口令(可任意修改)
  • trustedProxies 允许星图平台的反向代理正常转发请求

保存后,执行:

clawdbot gateway

此时访问 https://gpu-pod697b0f1855ba5839425df6ea-18789.web.gpu.csdn.net/,输入token csdn,即可进入Clawdbot控制面板。

3.3 切换模型供应源:让Clawdbot指向你的Qwen3-VL:30B

Clawdbot默认不连接任何大模型,需要手动配置模型供应源。编辑同一配置文件,添加models.providers节点:

"models": {
  "providers": {
    "my-ollama": {
      "baseUrl": "http://127.0.0.1:11434/v1",
      "apiKey": "ollama",
      "api": "openai-completions",
      "models": [
        {
          "id": "qwen3-vl:30b",
          "name": "Local Qwen3 30B",
          "contextWindow": 32000
        }
      ]
    }
  }
},
"agents": {
  "defaults": {
    "model": {
      "primary": "my-ollama/qwen3-vl:30b"
    }
  }
}

这里的关键是:

  • baseUrlhttp://127.0.0.1:11434而非公网地址(走内网更稳定)
  • primary字段指定默认模型为my-ollama/qwen3-vl:30b(格式为供应源/模型ID

修改后重启服务:

clawdbot gateway --restart

3.4 实时验证:看GPU显存跳动就是最好的证明

打开新终端,执行:

watch nvidia-smi

然后回到Clawdbot控制面板的Chat页面,发送一条消息,比如:“总结一下刚才我们做的三件事”。

你会看到nvidia-smi输出中,GPU显存使用率瞬间从空闲状态(如100MB)飙升至15GB以上,并在推理完成后回落。这个跳动就是最硬核的证据:Clawdbot确实在调用你的Qwen3-VL:30B,而不是在用某个备用小模型凑数。


4. 常见问题速查:避开新手最容易踩的三个坑

即使按步骤操作,仍可能遇到几个高频问题。这里不列长篇错误日志,只给最直接的解决方案。

4.1 Web UI空白页或提示“Connection refused”

原因:Clawdbot未正确监听公网IP
解决:确认clawdbot.jsongateway.bind值为"lan"(不是"loopback""localhost"),且trustedProxies包含"0.0.0.0/0"。修改后务必执行clawdbot gateway --restart

4.2 Python API返回404或“Model not found”

原因:Ollama中未正确加载模型
解决:在Ollama Web UI左下角点击“Models”,确认qwen3-vl:30b状态为绿色“Loaded”。若为灰色,执行命令:

ollama pull qwen3-vl:30b

4.3 Clawdbot Chat页面无响应,但GPU显存不动

原因:模型供应源配置中的baseUrl写成了公网地址
解决:Clawdbot与Ollama同处一台服务器,必须用http://127.0.0.1:11434,不能用https://xxx.web.gpu.csdn.net。公网地址仅用于外部调用,内部通信必须走localhost。


5. 下一步:从本地验证走向真实办公场景

现在你已经拥有了一个完全私有化、可验证、可监控的Qwen3-VL:30B服务。但这只是基础设施层。真正的价值在于把它变成你每天用的工具:

  • 飞书接入:Clawdbot原生支持飞书机器人协议,只需在飞书开放平台创建机器人,获取Webhook地址,填入Clawdbot控制面板的“Integrations”模块即可。群聊中@机器人提问,答案自动返回。
  • 持久化打包:星图平台支持将当前运行环境一键打包为自定义镜像。下次启动,无需重复配置,30秒恢复全部状态。
  • 多模型协同:在clawdbot.json中可同时配置多个模型供应源(如本地Qwen3-VL + 云端Qwen-Vision),Clawdbot会根据任务类型自动路由——图文理解走本地,长文本摘要走云端。

这些内容将在下篇详细展开。而此刻,你已经完成了最难的部分:让30B大模型在你的掌控下真正运转起来。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐