言語モデル、音声合成、ツールをすべてスマートフォン上でオフライン実行できるReact Native製モバイルアプリ。アカウントも不要です。
mybigday/llama.rn
iOS・Androidアプリ上でGGUF LLMを実行するためのllama.cpp向けReact Nativeバインディング。
- スター
- 1,059
- フォーク
- 132
- 未解決の Issue
- 23
- 最終コミット
- 4 時間前
これは何?
llama.rnはllama.cppをラップし、React NativeアプリでGGUF言語モデルを読み込み、サーバーを介さずスマートフォン上で直接推論できるようにします。チャットやテキスト補完、埋め込み、リランキング、トークナイズ、セッションの保存・読み込みを行うJavaScript APIを提供します。
このライブラリは、通常のテキスト生成にとどまりません。画像や音声入力にはmmproj projectorを使ったマルチモーダルモデルをサポートし、Jinjaチャットテンプレートによるツール呼び出しや、GBNF文法またはJSON Schemaを使った構造化出力にも対応しています。slotベースの並列リクエスト処理とMTP speculative decodingも利用できます。GPUアクセラレーションには、iOSではMetal、対応するQualcomm AdrenoデバイスではOpenCLを使用し、新しいSnapdragonチップでは実験的にHexagon NPUもサポートしています。
実験的なtext-to-speech機能では、codec.cppバックエンドを通じて複数のニューラルTTSモデルファミリーを実行でき、参照音声からのボイスクローニングにも対応しています。v0.10以降、このライブラリにはReact NativeのNew Architectureが必要です。旧バージョンは別のブランチで公開されています。
主な機能
- 01React NativeのJavaScript APIを通じて、iOSとAndroidでGGUFモデルを実行します。
- 02iOSでのMetal GPUアクセラレーションと、対応するQualcommデバイスでのOpenCLをサポートします。
- 03mmprojファイルを使い、マルチモーダルモデルで画像や音声の入力を処理します。
- 04JinjaテンプレートとGBNFまたはJSON Schemaの文法を使った、ツール呼び出しと構造化出力を提供します。
- 05slotベースの並列補完、埋め込み、リランキングを利用できます。
ユースケース
- スマートフォン上で完全にオフライン動作する、プライバシー重視のチャットボットを構築する。
- モバイルアプリに埋め込みとリランキングを使った、オンデバイスのドキュメント検索を追加する。
- バックエンドを用意せずに、React Nativeアプリで画像や音声の理解機能を試作する。
クイックスタート
- 1
npm からパッケージをインストールする
npm install llama.rn - 2
iOS 用に pod install を再実行する
npx pod-install - 3
GGUF モデルを読み込み、initLlama を使って補完を実行する
使う前に知っておきたいこと
- v0.10 以降では React Native の New Architecture が必要です。Old Architecture を使う場合は v0.9 ブランチが必要です。
- ネイティブバイナリは postinstall 時に GitHub リリースからダウンロードされるため、インストールにはネットワーク接続が必要です。また、手動でのダウンロードが必要になる場合があります。
- GPU と NPU によるアクセラレーション(OpenCL、Hexagon)は一部の Qualcomm デバイスに限られ、Hexagon は実験的機能です。
- テキスト読み上げのサポートは実験的です。
トピック
よくある質問
- llama.rn とは?
- iOS・Androidアプリ上でGGUF LLMを実行するためのllama.cpp向けReact Nativeバインディング。 llama.rnはllama.cppをラップし、React NativeアプリでGGUF言語モデルを読み込み、サーバーを介さずスマートフォン上で直接推論できるようにします。チャットやテキスト補完、埋め込み、リランキング、トークナイズ、セッションの保存・読み込みを行うJavaScript APIを提供します。
- llama.rn は無料で使えますか?ライセンスは?
- llama.rn は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- llama.rn は今もメンテナンスされていますか?
- 活発にメンテナンス中。llama.rn の最終コミットは 2026年10月21日 です。
- llama.rn は何に使えますか?
- スマートフォン上で完全にオフライン動作する、プライバシー重視のチャットボットを構築する。 モバイルアプリに埋め込みとリランキングを使った、オンデバイスのドキュメント検索を追加する。 バックエンドを用意せずに、React Nativeアプリで画像や音声の理解機能を試作する。
- llama.rn のインストール方法は?
- npm からパッケージをインストールする: npm install llama.rn iOS 用に pod install を再実行する: npx pod-install GGUF モデルを読み込み、initLlama を使って補完を実行する
- llama.rn はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/mybigday/llama.rn
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Google AI EdgeのAndroid・iOSアプリ。オープンソースLLMやオンデバイス生成AIを、スマートフォン上でオフラインで試せます。
Reactを使って、JavaScriptのUIをネイティブのプラットフォームコンポーネントで描画するAndroid・iOSアプリを構築するフレームワーク。
Android、iOS、Webで動くReact製のユニバーサルなネイティブアプリを構築するオープンソースフレームワーク。
iOSとAndroid向けのCherry Studioモバイルアプリ。複数のAIモデルとのチャット、エージェントの実行、MCPツールへの接続、画像生成に対応します。
llama.cppを基盤に、LLaMA系などのGGUF言語モデルをCPUまたはGPUでローカル実行できるC#/.NETライブラリ。