Repolode
mybigday

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. 1

    npm からパッケージをインストールする

    npm install llama.rn
  2. 2

    iOS 用に pod install を再実行する

    npx pod-install
  3. 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 の数値は毎日更新されます。

関連プロジェクト