在 React Native 与移动应用中使用 ONNX 模型的方法

ONNX(Open Neural Network Exchange)是一种通用的机器学习模型格式,支持 一次训练,多端部署。通过 ONNX,可以将使用 PyTorch、TensorFlow 训练的模型,高效地运行在 Android、iOS 以及 React Native、Flutter 等跨平台移动框架 上。

本文以 React Native 为核心,系统性介绍如何在移动端使用 ONNX,并进一步说明 端侧 AI(On-device AI)本地大模型(Local LLM) 在实际业务中的价值。


为什么 ONNX 适合移动应用

ONNX 在移动端广泛应用,主要原因包括:

  • 不绑定特定训练框架,技术路线灵活
  • 支持 CPU 及移动端加速器(NNAPI / CoreML)
  • 无需 Python 运行环境
  • 非常适合离线推理与低延迟场景

在注重 稳定性、数据安全与用户体验 的场景中,ONNX 是移动 AI 的理想选择。


移动端 ONNX Runtime 选择

平台 推荐 Runtime
React Native onnxruntime-react-native
Android(原生) ONNX Runtime Android
iOS(原生) ONNX Runtime iOS
Flutter 通过 Platform Channel 调用 ONNX Runtime
Ionic / Capacitor 原生插件封装 ONNX Runtime

⚠️ 纯 JavaScript 方式运行 ONNX 并不适合生产环境。


在 React Native 中使用 ONNX(推荐方案)

1. 安装 ONNX Runtime

为了获得更好的稳定性,建议使用 React Native CLI

yarn add onnxruntime-react-native
cd ios && pod install && cd ..

Expo 用户需要使用 prebuild 与 custom dev client。


2. 将 ONNX 模型集成到应用中

常见方式包括:

  • 将模型直接打包进应用(assets/models/model.onnx)
  • 应用首次启动时下载模型并缓存到本地

在早期阶段,推荐 直接随应用打包


3. 创建推理 Session

import * as ort from "onnxruntime-react-native";

export async function loadModel(modelPath: string) {
  return await ort.InferenceSession.create(modelPath, {
    executionProviders: ["cpu"],
  });
}

4. 执行推理

export async function runInference(session, inputName, data, dims) {
  const tensor = new ort.Tensor("float32", data, dims);
  const feeds = { [inputName]: tensor };
  return await session.run(feeds);
}

请务必确认模型的 输入名称与维度 完全一致。


图像预处理:最容易出错的环节

大多数视觉模型通常要求:

  • Tensor 形状为 [1, 3, H, W][1, H, W, 3]
  • 像素值归一化
  • 正确的 RGB / BGR 顺序

任何细微的预处理错误,都会直接影响推理结果。


在移动端使用 Local LLM 的优势

核心价值

  • 用户与业务数据不出设备,安全性高
  • 无网络环境下仍可正常工作
  • 推理延迟稳定,提升交互体验
  • 大幅降低云端推理与 API 成本

这在 政务、工业、企业级应用 中尤为重要。


Local LLM 在移动端的典型应用场景

政务 / GovTech

  • 表单填写辅助与政策解释
  • 本地文档与规章制度总结

智慧农业

  • 作物病害识别结果解释
  • 传感器数据的智能总结与决策建议

制造业 / 企业应用

  • 设备告警说明
  • 运维与巡检报告自动总结

消费级应用

  • 笔记、邮件摘要
  • 不依赖云端的个人 AI 助手

需要注意的限制条件

  • 模型规模需受控(通常 1–4B 参数以内)
  • 必须进行量化(INT8 / INT4)
  • 性能不及云端 GPU

选择 合适的业务场景 是成功落地的关键。


总结

通过 ONNX 与 Local LLM 的结合,可以在移动端构建 高安全性、低延迟、支持离线运行 的 AI 应用。

React Native + ONNX Runtime 在开发效率与工程稳定性之间取得了良好平衡,非常适合政务、工业、企业级以及智慧农业等实际场景。


Get in Touch with us

Chat with Us on LINE

iiitum1984

Speak to Us or Whatsapp

(+66) 83001 0222

Related Posts

Our Products