検索と RAG エクスペリエンスを構築するための Vertex AI API

Vertex AI には、独自の検索拡張生成(RAG)アプリケーションを構築したり、独自の検索エンジンを構築したりするための API スイートが用意されています。このページでは、これらの API について説明します。

取得と生成

RAG は、大規模言語モデル(LLM)が選択したデータソースに対する根拠のある回答を生成できるようにする手法です。RAG には 2 つのステージがあります。

  1. 取得: 最も関連性の高い事実をすばやく取得することは、一般的な検索の問題です。RAG を使用すると、回答の生成に重要な事実をすばやく取得できます。
  2. 生成: 取得された事実は、LLM によって根拠のある回答の生成に使用されます。

Vertex AI には、さまざまなデベロッパーのニーズに合わせて、両方のステージのオプションが用意されています。

取得オプションには、Vertex AI、独自の取得ツールの構築、LlamaIndex on Vertex AI、独自の取得ツールの導入、Google 検索などがあります。生成オプションには、Grounded generation API と Gemini があります。

取得

ニーズに応じて最適な取得方法を選択します。

  • Vertex AI Search: Vertex AI Search は、Google 検索品質の情報検索エンジンであり、企業データを使用するあらゆる生成 AI アプリケーションのコンポーネントとして使用できます。Vertex AI Search は、さまざまなドキュメント タイプを処理し、BigQuery や多くのサードパーティ システムなど、さまざまなソースシステムへのコネクタを備えた、RAG 用のすぐに使用できるセマンティック検索エンジンとキーワード検索エンジンとして機能します。

    詳細については、Vertex AI Search をご覧ください。

  • 独自の検索を構築する: 独自のセマンティック検索を構築する場合は、カスタム RAG システムのコンポーネントに Vertex AI API を使用できます。この API スイートは、ドキュメントの解析、エンベディングの生成、ベクトル検索、セマンティック ランキングに使用できる、質の高い実装となっています。これらの低レベルの API を使用すると、低レベルの Vertex AI API に依存することで、製品化までの時間を短縮し、品質を高めながら、取得ツールの設計を柔軟に行うことができます。

    詳細については、独自の検索拡張生成を構築するをご覧ください。

  • 既存の取得ツールを導入する: 既存の検索を、グラウンディング生成の検索ツールとして使用できます。また、RAG 用の Vertex API を使用して、既存の検索をより高い品質にアップグレードすることもできます。

  • LlamaIndex on Vertex AI: LlamaIndex on Vertex AI を使用すると、この一般的なオープンソース ソフトウェア(OSS)フレームワークに精通しているデベロッパーは、本番環境とエンタープライズ対応のコンテキストで使用される取得ツールを構築できます。

    詳細については、Vertex AI の生成 AI のドキュメントで RAG 用 LlamaIndex on Vertex AI の概要をご覧ください。

  • Google 検索: Gemini モデルで Google 検索によるグラウンディングを使用すると、Gemini は Google 検索を使用して、関連する検索結果に対する根拠のある出力を生成します。この取得方法では管理は必要ありません。世界中の知識を Gemini で利用できます。

    詳細については、Vertex AI の生成 AI のドキュメントで Google 検索を使用したグラウンディングをご覧ください。

生成

ニーズに最適な生成方法を選択します。

  • Grounded generation API(許可リストありの GA): Grounded generation API を使用して、ユーザーのクエリに対する根拠のある回答を生成します。この API は、特別にファインチューニングされた Gemini モデルを使用します。これは、ハルシネーションを減らし、グラウンディング サポート コンテンツへの参照を含む、ソース、サードパーティのソース、Google 検索にグラウンディングされたレスポンスを提供するための効果的な方法です。

    詳細については、根拠のある回答を生成するをご覧ください。

  • Gemini: Gemini は Google の最も高性能なモデルであり、Google 検索を使用したグラウンディングをすぐに利用できます。これを使用して、完全にカスタマイズされたグラウンディング生成ソリューションを構築できます。

    詳細については、Vertex AI の生成 AI のドキュメントのGoogle 検索を使用したグラウンディングをご覧ください。

  • Model Garden: 完全な制御と任意のモデルが必要な場合は、生成用に Vertex AI Model Garden の任意のモデルを使用できます。

独自の検索拡張生成を構築する

グラウンディング用のカスタム RAG システムを開発すると、プロセスのすべてのステップで柔軟性と制御が可能になります。Vertex AI には、独自の検索ソリューションを作成するのに役立つ一連の API が用意されています。これらの API を使用すると、RAG アプリケーションの設計を柔軟に行うことができます。また、これらの低レベルの Vertex AI API を利用することで、製品化までの時間を短縮し、高品質を実現できます。

Vertex AI には、処理とアノテーション、エンベディング、インデックス登録と取得、ランキング、グラウンディング生成、検証用の API が用意されています。

  • Document AI Layout Parser。Document AI Layout Parser は、さまざまな形式のドキュメントを構造化表現に変換し、段落、表、リストなどのコンテンツや、見出し、ページヘッダー、フッターなどの構造要素にアクセスできるようにします。また、さまざまな生成 AI アプリや検索アプリで情報検索を容易にするコンテキスト対応のチャンクを作成します。

    詳細については、Document AI のドキュメントで Document AI Layout Parser をご覧ください。

  • Embeddings API: Vertex AI embeddings API を使用すると、テキストまたはマルチモーダル入力のエンベディングを作成できます。エンベディングは、入力の意味を捉えるように設計された浮動小数点数ベクトルです。エンベディングを使用して、ベクトル検索によるセマンティック検索を強化できます。

    詳細については、Vertex AI の生成 AI ドキュメントのテキスト エンベディングマルチモーダル エンベディングをご覧ください。

  • Vector Search。取得エンジンは、RAG または検索アプリケーションの重要な部分です。Vertex AI Vector Search は、秒間クエリ数(QPS)、高再現率、低レイテンシ、費用対効果に優れた大規模な検索で、意味的に類似または関連する数十億ものアイテムを検索できる検索エンジンです。高密度エンベディングを検索でき、パブリック プレビューではスパース エンベディングのキーワード検索とハイブリッド検索をサポートしています。

    詳細については、Vertex AI ドキュメントの Vertex AI Vector Search の概要をご覧ください。

  • Ranking API。 Ranking API は、ドキュメントのリストを取得し、ドキュメントが特定のクエリとどの程度関連しているかに基づいてドキュメントを再ランク付けします。ドキュメントとクエリの意味的類似性のみを考慮するエンベディングと比較して、Ranking API は、ドキュメントが特定のクエリにどの程度適しているかについて、より正確なスコアを提供できます。

    詳細については、ドキュメントのランク付けと再ランク付けをご覧ください。

  • Grounded generation API。Grounded generation API を使用して、ユーザーのプロンプトに対する根拠のある回答を生成します。グラウンディング ソースには、Vertex AI Search データストア、指定したカスタムデータ、Google 検索を使用できます。

    詳細については、根拠のある回答を生成するをご覧ください。

  • Check grounding API。 Check grounding API は、特定のテキストの一部が特定の参照テキストのセットにおいてどの程度根拠があるかを判断します。API は、参照テキストから補足引用を生成し、特定のテキストが参照テキストによってサポートされている場所を示します。この API は、RAG システムからの回答のグラウンディング度合いを評価するために使用できます。また、試験運用版の機能として、API は、指定されたテキストと参照テキストが一致しない箇所を示す矛盾する引用も生成します。

    詳しくは、グラウンディングを確認するをご覧ください。

ワークフロー: 非構造化データから根拠のある回答を生成する

Vertex AI RAG API を統合して非構造化データから根拠のある回答を生成するワークフローの概要を次に示します。

  1. PDF ファイル、HTML ファイル、テキストを含む画像などの非構造化ドキュメントを Cloud Storage のロケーションにインポートします。
  2. レイアウト パーサーを使用して、インポートされたドキュメントを処理します。レイアウト パーサーは、非構造化ドキュメントをチャンクに分割し、非構造化コンテンツを構造化表現に変換します。レイアウト パーサーは、チャンクからアノテーションも抽出します。
  3. Vertex AI Text Embeddings API を使用して、チャンクのテキスト エンベディングを作成します。
  4. Vector Search を使用してチャンクのエンベディングをインデックスに登録して取得します。
  5. Ranking API を使用してチャンクをランク付けし、上位のチャンクを特定します。
  6. Grounded generation API を使用して、上位ランクのチャンクに基づいて根拠のある回答を生成します。

Google モデル以外の回答生成モデルを使用して回答を生成した場合は、Check grounding メソッドを使用して、これらの回答の根拠を確認できます。