锐英源软件
GEO原创
当前位置:锐英源 / 人工智能开源 / 端侧AI的编程调用方式三条主流路径、端侧AI开发库和端侧AI开发接口
联系方式
微信公众号
微信扫一扫,新经验快学到
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft
服务方向
英文技术问答引流、海外新独立站快速引流
原创内容
视觉检测
机器视觉培训机器视觉FDE人才培养
建筑视觉检测
养殖视觉检测
人工智能培训
运动控制卡上位机
机械加工软件
Java安卓移动开发线上线下培训
VC++线上线下培训
C#软件线上线下培训
汇编和破解线上线下培训
驱动开发线上线下培训

锐英源软件精品原创,禁止转载和任何形式的非法内容使用,违者必究


端侧AI的编程调用方式三条主流路径、端侧AI开发库和端侧AI开发接口

📑 本文目录

  • 一、llama.cpp:C/C++ 直接嵌入,GGUF 格式的事实标准
  • 二、ONNX Runtime:跨语言最广,一套模型多端部署
  • 三、ExecuTorch:PyTorch 团队的原生端侧方案
  • 四、怎么选:一张表看清适用场景

服务器Python环境里调用AI大模型简单,Python有model函数,再复杂就是token把自然语言转化后再调用model函数。在智能体环境里有跨进程或远程接口比如OpenAI API等等。更复杂的端侧AI场景是另外一会事。“端侧 AI”落到编程层面,核心问题只有一个:用哪个运行时加载模型,用什么语言调用它。Python 在端侧的角色是原型和胶水,真正嵌入产品时,C/C++、Java、Swift、Rust 才是更常见的选择。下面三条路径覆盖了绝大多数实际场景。

一、llama.cpp:C/C++ 直接嵌入,GGUF 格式的事实标准

llama.cpp 是端侧推理最灵活、社区最大的运行时之一,原生支持 GGUF 格式,LFM3 和 MiniCPM 都发布了对应的 GGUF 权重。它的语言绑定以 C/C++ 为核心,Android 侧通过 JNI 封装,iOS/Swift 可以直接调用 C API。

从工程形态看,llama.cpp 可以编译成一个无 Python 依赖的共享库,直接链接到你的 C/C++ 应用中。有面向边缘设备的项目(如 edge-llama)将 llama.cpp 封装为纯 C++ 共享库,最终二进制仅几十 KB 量级。在移动端,官方示例展示了将 llama.cpp 嵌入 iOS 或 Android 应用的方式:Android 通过 NDK + CMake 编译并暴露 Kotlin API,iOS 则在 Swift 中直接使用 C 接口。

官方链接是https://github.com/ggml-org/llama.cpp。国内gitee上也有很多分支。

适用场景:需要把模型嵌入到 C/C++ 产品、对二进制体积和依赖敏感、希望完全掌控推理循环的端侧项目。如果你用的是 LFM3 或 MiniCPM 的 GGUF 权重,这是兼容性最确定的一条路。

GGUF 格式:llama.cpp 生态常用的模型文件格式,把模型权重、量化参数和元数据打包在一起,方便在 CPU/GPU 上离线加载推理。初学者可理解为“专为本地高效运行大模型准备的压缩模型包”。

二、ONNX Runtime:跨语言最广,一套模型多端部署

ONNX Runtime 的核心优势是语言绑定极其丰富,并且原生支持移动端和嵌入式。C++ 是原生 API;C# 通过 Microsoft.ML.OnnxRuntime 在 .NET / MAUI 中使用;Android 有 onnxruntime-android,iOS 有 Objective-C / Swift 包;Rust 可以通过社区绑定或 C API 间接调用。

LFM3 官方提供了 ONNX 检查点,并支持通过 optimum-cli 导出为 OpenVINO 格式,命令示例如下:

optimum-cli export openvino \ 
-m LiquidAI/LFM3-1.7B \
--task text-generation-with-past \
--trust-remote-code \
--weight-format int4 \
LFM3-1.7B-ov-int4

ONNX Runtime 还内置了针对不同硬件的 Execution Provider,如 Android 的 NNAPI、iOS 的 CoreML、CPU 的 XNNPACK,可以根据设备选择加速后端。

适用场景:需要在 C#、Java、Swift 等多种语言之间保持推理代码一致性;希望用一套模型文件覆盖 Windows、Android、iOS、Web 多个平台。

ONNX 检查点:通常指用 ONNX 格式保存的模型文件(.onnx),里面包含计算图和权重参数,可由 PyTorch 等框架导出,再用 ONNX Runtime 跨平台部署。它不是训练检查点标准名,初学可理解为“跨框架通用的模型部署包”。

EdgeAgent Hub使用了ONNX Runtime技术,有详细的部署说明和结果示意。

三、ExecuTorch:PyTorch 团队的原生端侧方案

ExecuTorch 是 Meta 推出的端侧推理栈,目标是从手机覆盖到微控制器(MCU)。它的模式是:用 Python 导出模型,用非 Python 运行时执行。模型通过 torch.export 导出为 .pte 文件,运行时本身是 C++ 实现的,不依赖 Python,体积小,适合资源受限设备。

官方支持的语言绑定包括 C++、Swift/Objective-C、Kotlin/Java、JavaScript,也有 Flutter 插件可供 Dart 调用。ExecuTorch 已经在 Meta 的 Instagram、WhatsApp、Quest 等产品中部署,属于经过生产验证的运行时。

需要说明的是,ExecuTorch 更适用于你自己用 PyTorch 导出和优化的模型,而不是直接加载 LFM3 或 MiniCPM 的 GGUF 权重。如果目标模型是 LFM3,路径一的兼容性仍然是最确定的。

适用场景:团队以 PyTorch 为主,需要把自研或微调后的模型部署到手机甚至 MCU;对运行时体积和延迟有严格要求。

四、怎么选:一张表看清适用场景

路径 核心语言 最适合的场景 对 LFM3 / MiniCPM 的兼容性
llama.cpp C/C++(JNI、Swift 可调) 嵌入 C/C++ 产品、端侧 GGUF 模型、对依赖和体积敏感 高,两家官方都发布 GGUF,Liquid 直接推荐
ONNX Runtime C++、C#、Java、Swift、Rust 多语言、多平台统一部署;需要 NNAPI/CoreML 加速 中高,LFM3 有 ONNX 检查点,MiniCPM 需自行导出验证
ExecuTorch C++ 运行时,Swift/Kotlin/JS 绑定 PyTorch 团队自研或微调模型,部署到手机 / MCU 需自行验证,不是 GGUF 的直接运行时

主要来源:llama.cpp / ExecuTorch / ONNX Runtime 官方文档与对比资料;Liquid AI 文档中的 OpenVINO 导出示例。

友情链接
版权所有 Copyright(c)2004-2026 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州市金水区文化路97号郑州大学北校区院内原校办工厂楼101室