callstackincubator/ai
On-device LLM execution in React Native with Vercel AI SDK compatibility
解決する課題
React Native AIは、データをサーバーに送信することなく、モバイルデバイス上で直接AIモデルを実行する問題を解決します。これにより、ユーザーデータのプライバシーが保護され、レイテンシが削減され、サーバーコストを回避できます。また、React Native開発者が generateText や streamText といった馴染みのあるAI SDK関数をローカルモデルで簡単に使用できるようにします。
仕組み
このプロジェクトは、React Native向けのオンデバイスAIプリミティブのセットを提供し、異なるハードウェアやモデルタイプを処理する複数のプロバイダーを備えています。一部のプロバイダー(Apple、Google ADK)は組み込みのシステムモデルを使用するため、ダウンロードは不要です。その他(Llama、MLC)はモデルファイルのダウンロードが必要です。すべてのプロバイダーはVercel AI SDKと互換性のある共通インターフェースを公開しているため、開発者はローカルモデルとクラウドモデルの両方で動作するコードを書くことができます。デバッグ用に、AI SDKのテレメトリをキャプチャしてRozenite DevToolsに表示するDevToolsプラグインが含まれています。
対象ユーザー
データはデバイス上に保持したまま、テキスト生成、埋め込み、文字起こし、音声合成、画像生成などのAI機能をモバイルアプリに追加したいReact Native開発者向けです。また、Vercel AI SDKをローカルモデルで使用したい方や、コンテキストが制限されたモバイルデバイスで大規模言語モデルを実行する必要がある方にも役立ちます。このプロジェクトはiOSとAndroidをサポートしており、各プラットフォーム専用のプロバイダーが用意されています。
ハイライト
- 即時利用可能 – AppleおよびGoogle ADKプロバイダーはモデルのダウンロードが不要で、デバイスに組み込まれたシステムモデルを使用します。
- プライバシーファースト – すべての推論はデフォルトでデバイス上で実行され、クラウドモデルはオプトイン(Google ADKのみ)です。
- Vercel AI SDK互換 –
generateText、streamText、embed、transcribeなどの標準的なAI SDK関数をローカルモデルで使用できます。 - 複数のプロバイダー – Apple Foundation Models、Core AI bundles、Google ADK (Gemini Nano)、llama.rn経由のLlama、またはMLC LLMから選択可能です。
- テキストを超えて – 埋め込み、文字起こし、音声合成、画像生成(Core AI)をサポートしています。
- JSON UI –
@react-native-ai/json-uiパッケージにより、ツール呼び出しモデルがReact Native UIを動的に構築できます。 - DevTools統合 – AI SDK Profilerが、AI呼び出しのテレメトリをRozenite DevToolsに表示します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト