a-ghorbani/pocketpal-ai

An app that brings language models directly to your phone.

PocketPal AI – オンデバイス AI チャットアシスタント

概要 – PocketPal AI は、無料のオープンソースモバイルアプリ(iOS および Android)で、大規模言語モデルと対話し、その音声を聞き、簡単なツール(計算機、日時、HTML レンダリング)を提供できます。すべてスマートフォンから離れることなく実行できます。アプリは GGUF 形式のモデルを Hugging Face から一度ダウンロードし、その後、電話の CPU、GPU(Metal/OpenCL)、または NPU(Qualcomm Hexagon)を使用してローカルで推論を実行します。クラウドアカウントやサブスクリプションは不要で、ベンチマーク結果やフィードバックを明示的に共有しない限り、すべてがプライベートに保たれます。


主な機能

機能 内容
オンデバイスチャット 人気の LLM(Gemma、Qwen、Phi、Llama など)を GGUF 形式でオフライン実行。
ニューラル TTS オンデバイス音声合成(Kokoro およびその他の ONNX モデル)– インターネット呼び出しなし。
Pals と PalsHub カスタムプロンプト、個性、ロールプレイ設定を備えたパーソナライズされた「アシスタント」を作成またはダウンロード。
ツール使用(Talents) モデルはツール使用ループを介して組み込みツール(計算機、日時、HTML レンダラー)を呼び出せます。
ハードウェアアクセラレーション 推論は CPU、GPU(iOS では Metal、Android では OpenCL)、または NPU を使用可能。アプリは自動的にフォールバックします。
ベンチマークとリーダーボード 1 秒あたりのトークン数とメモリ使用量を測定。オプションで結果を公開の AI-Phone リーダーボードに送信。
ローカリゼーション UI は 11 言語に対応。iPad を完全サポート。
オープンソース&無料 MIT ライセンス、隠れた「プロ」ティアなし。

仕組み(高レベル)

  1. UI レイヤー – React Native アプリ(React Native Paper、MobX 状態、WatermelonDB によるチャット履歴)。AgentRunner がモデルトークンをストリーミングし、モデルが要求したときに Talents をディスパッチします。
  2. ブリッジレイヤー – ネイティブモジュールが llama.cpp 推論(llama.rn)と ONNX-Runtime TTS を JavaScript に公開します。
  3. エンジンレイヤー – llama.cpp が量子化 GGUF LLM を実行。ONNX Runtime がニューラル TTS モデルを実行。
  4. ハードウェアレイヤー – 計算はデバイスの CPU、GPU(Metal/OpenCL)、または NPU(Qualcomm Hexagon)で実行され、自動フォールバックが行われます。

ユーザーとしての始め方

  1. App Store または Google Play からインストールします。
  2. アプリを開く → メニュー ☰ → モデル → デバイスのメモリに合ったモデルを選択してダウンロードします(または個人用トークンを使用して Hugging Face から追加)。
  3. モデルをロードしてチャットを開始します。音声出力を有効にしたり、Pals を切り替えたり、ベンチマーク画面を実行したりできます。

開発者としての始め方

  • 前提条件 – Node 22(.nvmrc 経由)、Yarn 1、Xcode + CocoaPods(iOS)、または Android Studio(Android)。リポジトリは標準的な React-Native レイアウトに従っています。
  • ビルド – git clone … && nvm use && yarn install && (cd ios && pod install) その後 yarn ios または yarn android。
  • コード構造 –
    • src/screens – UI ページ(チャット、モデル、Pals、ベンチマーク、設定)。
    • src/services/agent – AgentRunner がチャットツールループを実装。
    • src/services/talents – 組み込みツール。TalentEngine を実装して登録することで追加できます。
    • src/services/tts – TTS エンジン。追加の ONNX モデルで拡張可能。
    • src/store – モデル、チャットセッション、設定などの MobX ストア。
  • 品質ゲート – yarn lint、yarn typecheck、yarn test は PR 前に合格する必要があります。
  • 拡張 – 新しい Talents、TTS エンジン、またはロケール(src/locales の JSON ファイル)を追加します。

誰が恩恵を受けるか?

  • プライバシー重視のユーザー – データをアップロードしない会話型 AI を求める方。
  • 旅行者 / フィールドワーカー – 飛行機や遠隔地でオフライン AI が必要な方。
  • 開発者 – オンデバイス LLM 推論、ハードウェアアクセラレーション、またはカスタム AI アシスタントの構築に興味がある方。

ライセンスとコミュニティ

  • ライセンス – MIT。
  • サポート – GitHub Discussions、Issues、ウェブサイト pocketpal.dev、およびオプションの GitHub Sponsors スポンサーシップ。
  • 謝辞 – llama.cpp、llama.rn、ONNX Runtime、React-Native、MobX、WatermelonDB、およびその他の多くのオープンソースライブラリに基づいています。

結論 – PocketPal AI は、最新の量子化 LLM がスマートフォン上で完全にオフラインで実行できることを示し、プライベートで拡張可能な AI アシスタントを継続的な費用なしで提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト