AI

React Native 端侧 AI:用 ExecuTorch 在本地运行 LLM

上一篇文章中,我们构建了由 FastAPI 后端驱动的流式 AI 聊天机器人。这一模式可覆盖大多数企业场景。但对于某些需求——满足《个人信息保护法(PIPL)》《数据安全法》等保2.0(尤其是工控/OT 系统场景)的数据不出境要求、离线运行能力、高并发下的成本控制——在设备上直接运行模型才是正确答案。

2026 年,这已不再是概念验证:Snapdragon 8 Elite 上实测 inference 延迟低于 20ms,1~5 GB 的模型可达到 GPT-3.5 同等质量,配套的 React Native 库将所有功能封装进熟悉的 React Hook——端侧 AI 已正式进入生产可用阶段。


为什么选择端侧?四个核心理由

1. 架构级隐私保护(PIPL / 数据不出境)。 Inference 在设备上完成,用户数据不会离开本地。无 API 调用日志,无第三者服务器风险。对于需要满足 PIPL 数据本地化要求或等保2.0 OT 环境安全隔离要求的应用,此方案从架构上消除了整类合规风险。

2. 低延迟。 云端往返在第一个 token 出现前增加 200~800ms。Snapdragon 8 Elite 上的端侧首 token 延迟低于 100ms,对话体验的差异用户感受明显。

3. 高并发下的零边际成本。 当消息量增大,per-token API 费用快速累积。端侧 1B 参数模型在首次下载后,每次对话的追加成本为零。

4. 离线能力。 工厂车间、医院病房、偏远地区、飞机上——网络不稳定的场景中端侧 AI 始终可用。


2026 年 React Native 端侧工具对比

后端 适用场景
react-native-executorch Meta ExecuTorch LLM、语音识别、图像分类 — Hook API 完整
react-native-fast-tflite Google LiteRT 2.x 经典 ML、视觉模型、存量 TFLite 模型
MediaPipe(原生模块) Google MediaPipe 姿态估计、目标检测、文本分类

2026 年 React Native LLM 推理的首选是 react-native-executorch(Software Mansion 出品):useLLM Hook 处理模型加载、token 流式输出和内存管理;useWhisper 实现端侧语音识别;计算机视觉 Hook 一应俱全。

注意: react-native-executorch 需要 New Architecture。RN 0.84(2026 年 3 月)已从 iOS 构建中完全移除 legacy bridge 支持。


Part 1: 安装

yarn add react-native-executorch
yarn add react-native-executorch-expo-resource-fetcher
yarn add expo-file-system expo-asset

在应用入口初始化:

import { initExecutorch } from 'react-native-executorch';
import { ExpoResourceFetcher } from 'react-native-executorch-expo-resource-fetcher';

initExecutorch({
  resourceFetcher: ExpoResourceFetcher,
});

Part 2: 面向国内市场的模型选型

模型 大小 所需 RAM 首 token 延迟 备注
LFM2.5 1.2B Instruct ~900 MB ~1.4 GB ~80ms 质量/体积比最优
Llama 3.2 1B ~850 MB ~1.3 GB ~90ms 多语言能力强
Qwen2.5 0.5B ~400 MB ~700 MB ~45ms 中文优化;中端机型首选
Llama 3.2 3B ~2.0 GB ~3.0 GB ~210ms 质量更高;仅适合旗舰机

对于国内 Android 生态中 4~6 GB RAM 中端机型仍大量存在的现实,Qwen2.5 0.5B 是更实际的选择——覆盖大多数对话任务,体积更小可减少设备碎片化下的 OOM 崩溃。数据不出境场景也可使用 Qwen 系列,与用友、金蝶等国产 ERP 的移动端集成天然契合。


Part 3: 端侧聊天 UI

import { useLLM, models, type Message } from 'react-native-executorch';

const llm = useLLM({
  model: models.llm.lfm2_5_1_2b_instruct(),
});

// 首次下载进度展示
if (llm.downloadProgress < 1) {
  return (
    <View>
      <Text>正在下载 AI 模型…</Text>
      <Text>{Math.round(llm.downloadProgress * 100)}%</Text>
      <Text>仅需下载一次,模型将缓存在设备上</Text>
    </View>
  );
}

// 流式生成
await llm.generate(messages, {
  onToken: (token: string) => {
    setMessages((prev) => {
      const updated = [...prev];
      updated[updated.length - 1].content += token;
      return [...updated];
    });
  },
});

Part 4: 混合架构——端侧 + 云端 Fallback

生产应用通常需要两种路径并存:

  • 端侧: 含个人信息的查询、离线场景、高频对话
  • 云端: 复杂推理、长文档综合、低端设备用户
export function useHybridAI() {
  const llm = useLLM({ model: models.llm.lfm2_5_1_2b_instruct() });
  const [isCloudMode, setIsCloudMode] = useState(false);

  const generate = async (messages, onToken) => {
    if (isCloudMode || !llm.isReady) {
      await cloudGenerate(messages, onToken); // R-03 的 FastAPI 端点
    } else {
      await llm.generate(messages, { onToken });
    }
  };

  return {
    generate,
    isOnDevice: !isCloudMode && llm.isReady,
  };
}

UI 展示"本地推理 · 数据不出境"或"云端 AI"徽标,满足等保2.0 对用户知情的透明度要求。


Part 5: 生产环境注意事项

模型下载体验是关键。 绝不在 App 启动时触发下载。设置用户显式 opt-in:"开启 AI 助手(下载约 900 MB)",展示进度并允许取消。

内存管理。 离开页面时卸载模型:

useEffect(() => {
  return () => { llm.interrupt(); };
}, []);

上下文窗口限制。 端侧模型通常支持 2K~8K token,远小于云端的 200K+。使用滑动窗口裁剪对话历史。

OOM 自动 Fallback:

try {
  await llm.generate(messages, { onToken });
} catch (err: unknown) {
  if (err instanceof Error && err.message.includes('out of memory')) {
    setIsCloudMode(true);
    await cloudGenerate(messages, onToken);
  }
}

常见问题

react-native-executorch 支持 Expo managed workflow 吗?

配合 expo-dev-client 使用可以,Expo Go 不支持(需要原生模块)。

哪些设备支持端侧 LLM?

6 GB+ RAM 设备可运行 LFM2.5 1.2B;4 GB 设备可运行 Qwen2.5 0.5B。硬件加速支持高通骁龙 8 Gen 3 / 8 Elite(QNN NPU)或 Apple A17 Pro+(ANE)。

能使用自己微调的模型吗?

可以。将 PyTorch 模型通过 torch.export 导出为 .pte 格式,将 URL 传入 useLLM

适合企业 RAG 应用吗?

混合方案最佳:在端侧完成 embedding 和检索(上下文量小),在云端完成需要长 context 的最终回答生成。这与 Simplico 将 simpliDoc 文档层接入移动端时使用的架构一致。


下一步

R 系列下一篇将连接 React Native 应用与私有文档知识库——将 D 系列的 RAG 流水线与 R-03、R-04 的移动端技术栈整合。

有端侧私有 AI 或企业内部文档安全移动访问需求?联系 Simplico 团队