react-native-rag
React Native 移动端本地 RAG 组件库,支持 ExecuTorch 设备端推理和 SQLite 向量存储
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
React Native 移动端本地 RAG 组件库,支持 ExecuTorch 设备端推理和 SQLite 向量存储
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
当大模型的能力越来越强,一个问题也随之浮现:企业的内部文档、个人的私密数据,要不要上传到云端让 AI 处理?很多场景下这是不可接受的——医疗记录、财务数据、研发笔记,这些内容一旦经过第三方服务器,即使只是"临时处理",也存在合规和隐私风险。离线运行的本地模型提供了解决方案,但推理质量和速度一直是瓶颈。
React Native RAG 来自 Software Mansion——这家公司你可能更熟悉他们的另一个身份:React Native Gesture Handler 和 Reanimated 的维护者。在动画和手势处理领域深耕多年后,他们把工程能力延伸到了 AI 领域,推出了这个专注于移动端本地运行的 RAG 组件库。
React Native RAG 的定位非常清晰:一套可以在 React Native 应用中运行的模块化 RAG 组件。它不是完整的应用,而是一组可以按需组合的 Lego 积木:LLM(语言模型)、Embeddings(向量化)、VectorStore(向量存储)、TextSplitter(文本分块),每个组件都可以独立使用或替换。
这个设计思路对移动端开发非常友好:你可以选择接入 ExecuTorch 做设备端推理(完全离线),也可以接入 OpenAI API 做云端增强,或者混用——本地做 Embedding,云端做 LLM 推理。这种灵活性是现有大多数 RAG 方案所不具备的。
React Native RAG 包含以下几个核心包:
| 包 | 功能 |
|---|---|
react-native-rag | 核心 RAG 逻辑(useRAG hook / RAG class) |
@react-native-rag/executorch | ExecuTorch 设备端推理(LLM + Embeddings) |
@react-native-rag/op-sqlite | SQLite 向量存储,支持本地持久化 |
@react-native-rag/transformers | 基于 Transformers.js 的设备端 Embedding |
使用方式分为三层:
ExecuTorch 设备端推理是这个项目最有价值的技术亮点。ExecuTorch 是 Meta 开源的 PyTorch 模型导出和优化框架,可以将大模型编译为针对特定硬件优化的二进制格式,在移动设备上高效运行。React Native RAG 集成了 @react-native-rag/executorch,支持在 iOS/Android 设备上直接跑 Embedding 模型和 LLM,无需任何网络请求。
生产案例 Private Mind(GitHub 366 stars)已经在 App Store 和 Google Play 上架,是一个完整的端到端产品,证明了这套技术栈的生产可用性。
向量存储:默认使用内存存储(MemoryVectorStore,适合单次会话),生产环境推荐 op-sqlite(基于 SQLite 的持久化向量存储),也支持自定义 VectorStore 接口。
TextSplitter:支持多种分块策略,可以按字符数、句子、段落等维度切分文本,并提供重叠机制保持上下文连续性。
语义搜索:通过 VectorStore 和 Embeddings 组件可以直接实现语义搜索——用户输入自然语言查询,系统自动向量化后在本地向量库中检索最相关的内容。
由于这是一个 React Native 库而非独立应用,传统的"服务器部署"概念不适用。它的部署模式是:
npm install react-native-rag,在现有 RN 项目中按需引入对于想要在 App 中集成本地 AI 能力的开发者,这是目前 React Native 生态中最完整的开源 RAG 解决方案。
ExecuTorch 集成:移动端运行 LLM 和 Embeddings 的生产级方案,不是 Demo 级别。配合 SQLite 向量存储,实现了完整的本地 RAG 管道。
Software Mansion 的工程品质:来自 Reanimated/Gesture Handler 团队,API 设计清晰、TypeScript 类型完整、文档质量高。他们的 React Native 开发工具链经验在这套 RAG 库上有明显体现。
模块化架构:每个组件都可以独立使用或替换,给了开发者极大的定制空间。不同于 LangChain 等通用框架的"大而全",React Native RAG 只做移动端,专注且精简。
React Native 独占:这个库的适用范围限于 React Native 项目。如果你在用 Flutter 或原生 iOS/Android 开发,没有直接可用的方案。
ExecuTorch 模型生态有限:虽然 ExecuTorch 支持导出多种模型,但相比云端 API(GPT-4、Claude 3.5)来说,可选的本地模型在推理质量上有明显差距,且模型文件体积较大(通常数百 MB 到数 GB)。
不包含 LLM 推理之外的工具:这是一个纯粹的 RAG 组件库,没有 Agent、工具调用、多跳推理等高级功能。如果需要这些能力,需要自己组合 LangChain.js 或类似的框架。
React Native RAG 为移动端本地 RAG 提供了目前最完整的开源解决方案。ExecuTorch 集成、SQLite 向量存储、模块化组件设计的组合,使其成为在 React Native App 中构建"隐私优先"AI 功能的最佳选择。
适合有 React Native 开发能力的团队,想要在 App 中实现完全离线的 AI 增强功能,且对模型质量要求在可接受范围内。强烈建议配合 Private Mind 的实现参考来理解其生产用法。