说明

我们直接使用官方模型库(Model Zoo)中的预转换模型在板端运行,快速体验相关的功能使用。

下载模型资源

我们进入之后需要下载相关的资源:

  • 目录整个下载rkllm_model_zoo/quickstart/demo_Linux_aarch64/
  • 下载此目录下的两个文件rkllm_model_zoo/1.2.3/RK3576/Qwen3-VL-2B/
  • qwen3-vl-2b-instruct_w4a16_g128_rk3576.rkllm
  • qwen3-vl-2b_vision_rk3576.rknn

向板子推送文件

我们推荐使用ADB进行推送,而泰山派默认支持ADB,我们的电脑端需要配置一下ADB的设置即可,参考:Debian12系统ADB使用

创建一个目录用来存放我们推送的文件:

adb shell mkdir -p /home/lckfb/rkllm_demo

使用下面的命令将电脑端刚下载的环境文件推送到泰山派开发板中的 /home/lckfb/rkllm_demo/ 目录下:

# 【立创·泰山派3-RK3576开发板】RKLLM快速上手
adb push quickstart/demo_Linux_aarch64/ /home/lckfb/rkllm_demo/

推送模型文件泰山派开发板中的 /home/lckfb/rkllm_demo/ 目录下:

需要推送两个文件:.rknn.rkllm

adb push 1.2.3/RK3576/Qwen3-VL-2B/qwen3-vl-2b-instruct_w4a16_g128_rk3576.rkllm /home/lckfb/rkllm_demo/
adb push 1.2.3/RK3576/Qwen3-VL-2B/qwen3-vl-2b_vision_rk3576.rknn /home/lckfb/rkllm_demo/

最终在板子上面的所呈现的文件结构是:

板子运行模型

我们进入泰山派开发板的终端,然后进入 /home/lckfb/rkllm_demo/demo_Linux_aarch64/ 目录:

# 进入目录
cd /home/lckfb/rkllm_demo/demo_Linux_aarch64/

设置动态库路径:(为当前目录下的 ./lib 目录下 )

# 设置动态库路径 (非常重要,否则会报错误)
export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH

如果你想要查看性能增加一个变量 export RKLLM_LOG_LEVEL=1

赋予demo可执行权限

sudo chmod +x demo

运行Demo:

用法: ./demo [图片] [视觉模型] [语言模型] [生成长度] [上下文长度] [NPU核心数] [特殊Prompt标记...]

特别注意:因为模型的路径是上一层级的目录所以用 ../

./demo demo.jpg \
  ../qwen3-vl-2b_vision_rk3576.rknn \
  ../qwen3-vl-2b-instruct_w4a16_g128_rk3576.rkllm \
  2048 4096 3 "<|vision_start|>" "<|vision_end|>" "<|image_pad|>"

这里的"<|vision_start|>", "<|vision_end|>", "<|image_pad|>" 这三个实际上是视觉/多模态大模型输入中的特殊占位符(token)

  • "<|vision_start|>"视觉片段开始标记(Visual Start Token)

  • 代表图片信息在大模型输入序列中的起始位置,告诉模型“接下来要插入一张图片的内容了”。

  • "<|vision_end|>"视觉片段结束标记(Visual End Token)

  • 代表图片信息结束的地方,告诉模型“图片信息输入到这里为止了”。

  • "<|image_pad|>"视觉内容补齐占位符(Image Padding Token)

  • 在处理多张图片批量推理时,图片的 patch/token 长度不一致,为了对齐输入,往往会使用 Pad Token 补齐到一致的长度。这个 token 就是做补齐填充用的。

其实就是 告诉大模型“图片内容从哪开始、到哪结束、没填满时用什么补齐” 的专用字符串标记,用于多模态推理输入。

运行成功后,可以进行问答。

终端将输出模型对 demo.jpg 图片的描述或回答。

我们看下这个图片,是不是和模型回答的一样:

更多推荐