Repolode
mybigday

mybigday/llama.rn

llama.cpp 的 React Native 绑定,可在 iOS 和 Android 应用中本地运行 GGUF 大模型。

Star
1,059
Fork
132
未关闭 Issue
23
最近提交
5小时前

这是什么?

llama.rn 将 llama.cpp 封装为 React Native 模块,让应用可以直接在手机上加载 GGUF 格式的语言模型并进行推理,无需额外部署服务器。它提供对话与文本补全、embedding、rerank、分词以及会话状态保存和加载等 JavaScript 接口。

除纯文本生成外,它还支持通过 mmproj 投影文件处理图像和音频输入的多模态模型,基于 Jinja 聊天模板的工具调用,以及借助 GBNF 语法或 JSON Schema 约束输出结构。库中还包含基于 slot 的并行请求处理和 MTP 投机解码。iOS 使用 Metal 加速,Android 在部分高通 Adreno 设备上支持 OpenCL,较新的骁龙芯片上另有实验性的 Hexagon NPU 支持。

库中还有一条实验性的文本转语音通路,通过 codec.cpp 后端运行多个神经 TTS 模型系列,并支持基于参考音频的声音克隆。从 v0.10 起需要 React Native 新架构,旧架构请使用单独的 v0.9 分支。

核心功能

  • 01通过 React Native 的 JavaScript 接口在 iOS 和 Android 上运行 GGUF 模型。
  • 02在 iOS 上支持 Metal GPU 加速,在部分高通设备上支持 OpenCL。
  • 03借助 mmproj 文件处理图像和音频输入的多模态模型。
  • 04通过 Jinja 模板实现工具调用,并用 GBNF 或 JSON Schema 约束结构化输出。
  • 05提供基于 slot 的并行补全、embedding 和 rerank 功能。

适用场景

  • 开发完全离线运行、注重隐私的手机端聊天机器人。
  • 在移动应用中借助 embedding 和 rerank 实现本地文档检索。
  • 在 React Native 应用中无需后端即可验证图像或音频理解功能。

快速上手

  1. 1

    从 npm 安装该包

    npm install llama.rn
  2. 2

    为 iOS 重新运行 pod 安装

    npx pod-install
  3. 3

    加载 GGUF 模型并使用 initLlama 运行补全

使用前须知

  • 从 v0.10 起需要 React Native 的新架构;旧架构需使用 v0.9 分支。
  • 原生二进制文件在 postinstall 阶段从 GitHub Release 下载,安装需要网络,也可能需要手动下载步骤。
  • GPU 和 NPU 加速(OpenCL、Hexagon)仅限特定高通设备,其中 Hexagon 为实验性功能。
  • 文本转语音功能为实验性质。

标签

常见问题

llama.rn 是什么?
llama.cpp 的 React Native 绑定,可在 iOS 和 Android 应用中本地运行 GGUF 大模型。 llama.rn 将 llama.cpp 封装为 React Native 模块,让应用可以直接在手机上加载 GGUF 格式的语言模型并进行推理,无需额外部署服务器。它提供对话与文本补全、embedding、rerank、分词以及会话状态保存和加载等 JavaScript 接口。
llama.rn 可以免费使用吗?用的什么许可证?
llama.rn 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
llama.rn 还在维护吗?
活跃维护中。llama.rn 最近一次提交是在 2026年10月21日。
llama.rn 适合用来做什么?
开发完全离线运行、注重隐私的手机端聊天机器人。 在移动应用中借助 embedding 和 rerank 实现本地文档检索。 在 React Native 应用中无需后端即可验证图像或音频理解功能。
llama.rn 怎么安装和运行?
从 npm 安装该包: npm install llama.rn 为 iOS 重新运行 pod 安装: npx pod-install 加载 GGUF 模型并使用 initLlama 运行补全
在哪里获取 llama.rn?
源代码和安装说明在 GitHub 上:https://github.com/mybigday/llama.rn

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目