AI Edge RAG ガイド

AI Edge RAG SDK は、LLM 推論 API を使用して検索拡張生成(RAG)パイプラインを構築するための基本的なコンポーネントを提供します。RAG パイプラインは、更新された情報、機密情報、ドメイン固有の情報など、ユーザー提供データへのアクセスを LLM に提供します。RAG による情報取得機能が追加されたことで、LLM は特定のユースケースに合わせて、より正確でコンテキストに応じたレスポンスを生成できるようになりました。

AI Edge RAG SDK は Android で使用でき、完全にデバイス上で実行できます。SDK の使用を開始するには、Android ガイドをご覧ください。このガイドでは、RAG を使用したサンプル アプリケーションの基本的な実装について説明しています。

RAG パイプライン

AI Edge RAG SDK を使用して RAG パイプラインを設定する主な手順は次のとおりです。

  1. データをインポートする: LLM が出力の生成時に使用するテキストデータを指定します。
  2. データを分割してインデックスに登録する: データを小さなチャンクに分割して、データベースにインデックス登録します。
  3. エンベディングを生成する: エンベディング ツールを使用してチャンクをベクトル化し、ベクトル データベースに保存します。
  4. 情報を取得する: ユーザー プロンプトに対応するために関連情報を特定して取得する方法を定義します。特定のプロンプトに対して、検索コンポーネントがベクトル データベースを検索し、関連する情報を特定します。
  5. LLM を使用してテキストを生成する: 大規模言語モデルを使用して、ベクトル データベースから取得した情報に基づいて出力テキストを生成します。

主なモジュール

AI Edge RAG SDK には、RAG パイプラインの次の主要なモジュールと API が用意されています。

  • 言語モデル: オープン プロンプト API を備えた LLM モデル(ローカル(デバイス上)またはサーバーベース)。この API は LanguageModel インターフェースに基づいています。
  • テキスト エンベディング モデル: 構造化テキストと非構造化テキストをエンベディング ベクトルに変換して、セマンティック検索を行います。この API は Embedderインターフェースに基づいています。
  • ベクトルストア: ベクトルストアは、データチャンクから派生したエンベディングとメタデータを保持します。クエリを実行して、類似のチャンクや完全一致を取得できます。この API は VectorStore インターフェースに基づいています。
  • セマンティック メモリ: クエリに応じて上位 k 個の関連チャンクを取得するセマンティック リトリバーとして機能します。この API は SemanticMemory インターフェースに基づいています。
  • テキストのチャンク化: ユーザーデータを小さな部分に分割して、インデックス登録を容易にします。この API は TextChunker インターフェースに基づいています。

SDK には、複数の RAG コンポーネントを 1 つのパイプラインに組み合わせるチェーンが用意されています。チェーンを使用して、取得モデルとクエリモデルをオーケストレートできます。この API は Chain インターフェースに基づいています。始めるにあたっては、取得と推論チェーンまたは取得チェーンをお試しください。