说明
我们直接使用官方模型库(Model Zoo)中的预转换模型在板端运行,快速体验相关的功能使用。
下载模型资源
- 官方下载地址:https://console.box.lenovo.com/l/l0tXb8
- 提取密码:
rkllm
我们进入之后需要下载相关的资源:
- 此目录整个下载:
rkllm_model_zoo/quickstart/demo_Linux_aarch64/ - 下载此目录下的两个文件:
rkllm_model_zoo/1.2.3/RK3576/Qwen3-VL-2B/:qwen3-vl-2b-instruct_w4a16_g128_rk3576.rkllmqwen3-vl-2b_vision_rk3576.rknn
向板子推送文件
我们推荐使用ADB进行推送,而泰山派默认支持ADB,我们的电脑端需要配置一下ADB的设置即可,参考:Debian12系统ADB使用
创建一个目录用来存放我们推送的文件:
adb shell mkdir -p /home/lckfb/rkllm_demo使用下面的命令将电脑端刚下载的环境文件推送到泰山派开发板中的 /home/lckfb/rkllm_demo/ 目录下:
# 推送demo_Linux_aarch64整个目录到板子的/home/lckfb/rkllm_demo/下
adb push quickstart/demo_Linux_aarch64/ /home/lckfb/rkllm_demo/2
推送模型文件到泰山派开发板中的 /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/2
最终在板子上面的所呈现的文件结构是:
板子运行模型
我们进入泰山派开发板的终端,然后进入 /home/lckfb/rkllm_demo/demo_Linux_aarch64/ 目录:
# 进入目录
cd /home/lckfb/rkllm_demo/demo_Linux_aarch64/2
设置动态库路径:(为当前目录下的 ./lib 目录下 )
# 设置动态库路径 (非常重要,否则会报错误)
export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH2
如果你想要查看性能增加一个变量
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|>"2
3
4
这里的"<|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图片的描述或回答。
我们看下这个图片,是不是和模型回答的一样: