乐于分享
好东西不私藏

高通官方开源|QAI AppBuilder:高通平台AI部署神器已就位

高通官方开源|QAI AppBuilder:高通平台AI部署神器已就位

1. 写在前面

在高通平台做过 AI 开发的朋友应该都有体会:当下 AI 生态火热,但高通的生态相对没那么开放,网上公开的资料不仅少,还大多是英文内容,这给不少个人开发者筑起了不低的门槛。今天就给大家推荐一款高通官方开源的工具 —— QAI AppBuilder(Quick AI Application Builder,快速人工智能应用构建器),它基于高通 AI Runtime SDK 打造,核心就是为开发者提供简单、便捷、高效的 AI 应用开发部署方式。


2. 什么是 QAI AppBuilder

QAI AppBuilder 是 Qualcomm AI Runtime SDK 的扩展,用于简化 QNN 模型的部署。QAI AppBuilder 旨在帮助开发者轻松使用 Qualcomm AI Runtime SDK 在 Windows on Snapdragon (WoS)和 Linux 平台上部署模型。它将模型执行 API 封装为一组简化的接口,使开发者能够轻松地在 CPU或NPU(HTP) 上加载模型并执行推理,大幅降低了在 Windows on Snapdragon (WoS) 和 Linux 平台上部署 AI 模型的复杂度。


3. QAI AppBuilder 有哪些优势

✅ 双语言支持:同时支持 C++ 和 Python

✅ 跨平台:支持 Windows , Linux和Android

✅ 多运行时:支持 CPU 和 NPU(HTP) 运行

✅ 大语言模型支持:内置 Genie 框架支持 LLM

✅ 多模态支持:支持多模态大语言模型

✅ 灵活数据类型:支持 Float 和 Native 模式的输入输出

✅ 多图支持:支持多个计算图

✅ LoRA 支持:支持 LoRA 适配器动态加载

✅ 多模型支持:可同时加载多个模型

✅ 丰富示例:提供 20+ 个可运行的示例代码

✅ 提供多个实用工具,如QAI AppBuilder Launcher、ONNX2BIN等,适配开发过程中的各类辅助场景。

✅ 提供多个可离线运行的Web应用,支持一键启动、轻松体验,涵盖图片修复、图片生成、聊天机器人等场景。

✅ 提供基于高通设备的OpenAI API兼容的GenieAPIService,只需更改API的IP端点,即可让众多第三方应用程序无缝切换到高通NPU设备上运行模型。


4. QAI AppBuilder 架构图

通过架构图我们可以看出 QAI AppBuilder 有如下特点

  • 基于 Qualcomm AI Runtime SDK 进行了扩展

  • 支持 LLM 推理

  • 可以对外提供 C++ API,Python API,OpenAI 兼容的 API


5. 如何使用QAI AppBuilder

QAI AppBuilder 有两种使用方式

5.1 使用 QAI AppBuilder C++ 库开发基于 C++ 的 AI 应用

在 releases 下载预构建的二进制软件包 QAI_AppBuilder-win_arm64-{Qualcomm® AI Runtime SDK 版本}-Release.zip 以获取这些文件

QAI AppBuilder C++ 库对外提供了如下接口:

  • ModelInitialize:负责模型推理前的初始化

  • ModelInference:负责执行模型的推理

  • ModelDestroy:负责模型推理完之后资源的销毁

现在只提供了windows下使用的库,在linux或者android下使用的话需要自己编译。

5.2 使用 QAI AppBuilder Python 绑定扩展开发基于 Python 的 AI 应用

在 releases 下载 Python 扩展 qai_appbuilder-{version}-cp312-cp312-win_amd64.whl 并用以下命令安装:

pip install qai_appbuilder-{version}-cp312-cp312-win_amd64.whl

也是只有 windows 的包,如果需要在linux下使用的话,可以参考 https://github.com/quic/ai-engine-direct-helper/tree/main/samples/linux 自己构建。


6. Samples

QAI APPBuilder的核心亮点之一就是提供了大量的 sample 供大家参考学习,代码路径在 ai-engine-direct-helper/samples,下面我们来重点介绍几个。

6.1 Genie

本示例旨在帮助开发者使用 C++/Ptyhon 在 Windows on Snapragon(WoS)、移动端和 Linux 平台上构建基于 Genie 的 OpenAI 兼容的 API 服务。

具有如下特色:

  • 支持 CPU 和 NPU 上的 LLM 推理

  • 支持流式和非流式输出

  • 支持模型切换

  • 支持自定义模型

  • 支持工具调用

  • 支持启用/禁用思维模式

  • 支持 lora


6.2 Linux

本示例展示如何使用 QAI AppBuilder 在高通Dragonwing™ IQ9075 及 QCS6490 平台上开发 AI 应用,基于ubuntu24.04系统。QAI AppBuilder 提供了 Python 和 C++ 接口,我们只需几行代码就能快速构建 AI 应用。

本示例演示了使用 QAI AppBuilder Python 和 C++ API 进行 AI 模型推理。整个流程包括:

  1. 初始化 QAI AppBuilder 运行环境

  2. 加载预训练的 AI 模型

  3. 准备输入数据进行推理

  4. 执行模型推理

  5. 推理结果后处理

此外,针对调用 Python API 进行 AI 模型推理,还提供了大量模型的demo,可以直接运行:

  • inception_v3

  • shufflenet_v2

  • vit

  • yolov8_det


7. 总结

QAI AppBuilder 作为高通官方开源的AI模型部署工具,依托高通AI Runtime SDK,全方位降低了高通设备上AI应用的开发与部署门槛,其优势覆盖开发便捷性、跨场景适配、功能扩展性及体验友好度等多个核心维度,整体亮点总结如下:

在开发便捷性上,工具支持C++与Python双语言开发,适配不同开发者的使用习惯,同时提供20+可直接运行的示例代码,大幅减少开发者的上手成本;跨平台特性显著,兼容Windows、Linux、Android三大主流系统,无需额外适配即可实现多环境开发与调试。

在运行与部署能力上,工具具备强大的灵活性与兼容性:运行时支持CPU与NPU(HTP)双模式,可根据设备性能与需求灵活切换,充分发挥高通硬件优势;数据类型支持Float与Native模式的输入输出,同时支持多个计算图、多个模型的并行加载,适配复杂AI应用场景。

在功能扩展性上,工具内置Genie框架,完美支持大语言模型(LLM)与多模态大语言模型的部署,同时支持LoRA适配器动态加载,满足模型微调与高效部署的双重需求;更提供QAI AppBuilder Launcher、ONNX2BIN等实用工具,简化开发流程中的模型转换、项目启动等操作。

在使用体验上,工具配套多个可离线运行的Web应用(如图片修复、图片生成、聊天机器人等),一键启动即可快速体验AI功能;此外,其提供的基于高通设备的OpenAI API兼容的GenieAPIService,可让第三方应用仅需修改API的IP端点,就能无缝切换到高通NPU设备上运行,大幅提升应用迁移与部署效率,全方位适配个人开发者与企业级开发需求。

综上,我们为大家介绍的QAI AppBuilder,无疑是高通平台AI开发的一款实用利器。它凭借多语言支持、跨平台适配、强功能扩展等诸多优势,能帮助开发者在高通设备上快速部署AI应用,高效解决高通平台开发资料少、门槛高的痛点。在此也建议正在高通平台做AI开发的小伙伴,好好利用这份官方开源资源,少走弯路、提升效率。

我近期也在深入研究这个项目,大家如果在使用或学习过程中遇到任何问题,欢迎在评论区留言交流,一起学习、共同进步~


8. 参考

https://github.com/quic/ai-engine-direct-helper/tree/main

https://github.com/quic/ai-engine-direct-helper/blob/main/docs/guide_zh.md

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 高通官方开源|QAI AppBuilder:高通平台AI部署神器已就位

评论 抢沙发

7 + 6 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮