

锐英源软件精品原创,禁止转载和任何形式的非法内容使用,违者必究
📑 本文目录
服务器Python环境里调用AI大模型简单,Python有model函数,再复杂就是token把自然语言转化后再调用model函数。在智能体环境里有跨进程或远程接口比如OpenAI API等等。更复杂的端侧AI场景是另外一会事。“端侧 AI”落到编程层面,核心问题只有一个:用哪个运行时加载模型,用什么语言调用它。Python 在端侧的角色是原型和胶水,真正嵌入产品时,C/C++、Java、Swift、Rust 才是更常见的选择。下面三条路径覆盖了绝大多数实际场景。
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 的核心优势是语言绑定极其丰富,并且原生支持移动端和嵌入式。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 是 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 导出示例。