完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
感谢电子发烧友和合众恒跃提供的试用机会。 引言上次我们已经实现了交叉编译仓颉编程语言的程序在开发板上运行。今天我们会交叉编译Cangjie Magic程序到开发板上。Cangjie Magic是一个基于仓颉编程语言构建的 LLM Agent 开发框架,其主要特点包括:Agent DSL、支持 MCP 协议,支持模块化调用,支持任务智能规划。Cangjie Agent DSL 是一个用于定义和管理 Agent 的专用语言。它允许开发人员通过结构化的系统提示词、工具和各类协作策略来增强 Agent 的功能。 今天我们就尝试在开发板上利用质谱AI的视觉语言模型(VLM)模型来进行图像识别。我们的目标就是类似前几天测试Milk-V Duo S所做的识别车牌号,我们会看到VLM做这个工作简直易如反掌。 编写视觉语言大模型(VLM)程序视觉语言大模型(VLM)已经成为智能系统的关键基石。随着真实世界的智能任务越来越复杂,VLM模型也亟需在基本的多模态感知之外, 逐渐增强复杂任务中的推理能力,提升自身的准确性、全面性和智能化程度,使得复杂问题解决、长上下文理解、多模态智能体等智能任务成为可能。智谱AI推出新版VLM开源模型 GLM-4.1V-9B-Thinking ,引入思考范式,通过课程采样强化学习 RLCS(Reinforcement Learning with Curriculum Sampling)全面提升模型能力, 达到 10B 参数级别的视觉语言模型的最强性能,在18个榜单任务中持平甚至超过8倍参数量的 Qwen-2.5-VL-72B。 同步开源基座模型 GLM-4.1V-9B-Base。我们采用的就是其免费版本: 有关Cangjie Magic的安装和创建工程参考官方文档即可:Install Cangjie Magic 在Cangjie Magic中调用质谱AI的视觉模型非常简单,使用下面的程序即可。
加入工程目录的名字是vlm,只要执行下面的命令就可以测试程序:
交叉编译Cangjie Magic到T536开发板目前Cangjie Magic 主要是在x86、鸿蒙、苹果电脑等几个平台进行开发和测试,缺少对嵌入式开发板的测试。本文主要讨论AARCH64的Linux平台,这个也是目前在嵌入式开发板中最多的平台之一。 我们使用的是交叉编译,虽然T536开发板的能力很强,本地编译也可以,但是程序编写还是电脑比较方便。构建仓颉语言的交叉编译环境请参考我的上一篇博文。 对cjpm.toml文件的修改如果是交叉编译,需要在cjpm.toml中加入-B选项以指定启动文件的位置:
上面的路径有可能因为操作系统的不同而不同。 一共有两个cjpm.toml要修改,一个是CangjieMagic目录下的,另一个是vlm目录下的。 stdx库的配置Cangjie Magic是依赖stdx库的,虽然在安装的时候,安装脚本会自动安装本机的stdx库,但是交叉编译所需要的aarch64版本还需要手工下载。 访问stdx库的主页,点击右侧的“发行版”,找到最新的版本,在其中现在aarch64的文件(例如cangjie-stdx-linux-aarch64-1.0.1.1.zip)。 在CangjieMagic目录下的cjpm.toml加入如下语句:
拷贝libsecurec.so到cangjie的库文件中仓颉语言的库文件里面不知道为什么少了一个动态库libsecurec.so,没有这个文件在前面我们交叉编译的时候只好使用--static选项,不过交叉编译Cangjie Magic的时候无法使用这个选项,所以需要将stdx中的libsecurec.so拷贝到D:\cangjie\runtime\lib\linux_aarch64_llvm目录中。这点很重要,否则会产生错误。 开始交叉编译执行下面的语句就可以开始交叉编译了:
几分钟之后,整个工程就编译完成了。 部署到开发板拷贝所需要的库文件编译后需要将canjie/runtime目录下aarch64的所有so文件、CangjieMagic\libs\cangjie-stdx-linux-aarch64-1.0.1.1\linux_aarch64_llvm\dynamic\stdx下的所有so文件和vlm\target\aarch64-unknown-linux-gnu\release\magic目录下的所有so文件都打包拷贝到开发板上的cangjielib目录下。 然后使用下面的命令设置好所需要的库文件路径:
所有库文件的大小是47M字节,还是比较小的,当然有进一步裁减的余地。 安装curlCangjie Magic默认是调用curl来执行大模型推理工作的,而开发板默认是没有curl程序的,需要安装程序。如果找不到该程序,我们的vlm程序会报告下面的错误:
安装curl程序很简单,只需要执行下面命令:
如果不想安装curl,还有一个办法就是让Cangjie Magic使用仓颉语言的http库,需要在编译时加上 运行程序将vlm可执行文件拷贝到开发板上,并设置好可执行权限。 运行程序前还需要配置环境变量ZHIPU_API_KEY,设置其为质谱AI的API Key。 做好了所有准备工作就可以直接运行程序了,我们采用的测试图片是这样的。 程序执行结果:
效果相当不错! 结束语从今天测试看,VLM 发展得非常快,可以部分替代 YOLO 和 OCR 的工作,我们可以在开发板上利用它进行拍摄的图片的分析,从而可以得到更丰富的环境信息。 使用Cangjie Magic编写大语言模型调用程序相当简单,确实是一个人工智能利器。当然如果仅仅想完成大语言模型调用,也可以直接调用质谱AI提供的API接口,我们只所以费很大力气完成Cangjie Magic的交叉编译,是为了实现智能代理(AI Agent)。这个问题留待下次介绍。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
81个成员聚集在这个小组
加入小组【HZ-RK3568开发板免费体验】合众HZ-RK3568 移植 ffmpeg 支持 mpp 库来加速
1031 浏览 0 评论
【HZ-RK3568开发板免费体验】使用RK3568 的 NPU 实现物体识别
894 浏览 0 评论
32576 浏览 0 评论
27726 浏览 0 评论
1176 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 10:37 , Processed in 0.707880 second(s), Total 58, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
659
