Vertex AI には、検索拡張生成(RAG)アプリケーションや検索エンジンの構築に役立つ API スイートが用意されています。このページでは、これらの API について説明します。
検索と生成
RAG は、大規模言語モデル(LLM)が選択したデータソースに対する根拠のある回答を生成できるようにする手法です。RAG には次の 2 つのステージがあります。
- 取得: 最も関連性の高い事実をすばやく取得することは、一般的な検索の問題です。RAG を使用すると、回答の生成に重要な事実をすばやく取得できます。
- 生成: 取得された事実は、LLM によってグラウンディングされたレスポンスの生成に使用されます。
Vertex AI には、さまざまなデベロッパーのニーズに合わせて、両方のステージに対応するオプションが用意されています。
取得
ニーズに最適な取得方法を選択します。
Vertex AI Search: Vertex AI Search は、企業データを使用するあらゆる生成 AI アプリケーションのコンポーネントとして使用できる、Google 検索品質の情報検索エンジンです。Vertex AI Search は、すぐに使える RAG 用のセマンティック検索エンジンとキーワード検索エンジンとして機能します。さまざまなドキュメント タイプを処理する機能と、BigQuery や多くのサードパーティ システムを含むさまざまなソースシステムへのコネクタを備えています。
詳細については、Vertex AI Search をご覧ください。
独自の検索を構築する: 独自のセマンティック検索を構築する場合は、カスタム RAG システムのコンポーネントに Vertex AI API を使用できます。この API スイートは、ドキュメントの解析、エンベディングの生成、ベクトル検索、セマンティック ランキングに使用できる、質の高い実装となっています。これらの低レベルの API を使用すると、低レベルの Vertex AI API に依存することで、製品化までの時間を短縮し、品質を高めながら、取得ツールの設計を柔軟に行うことができます。
詳細については、独自の検索拡張生成を構築するをご覧ください。
既存の検索ツールを導入する: 既存の検索を、グラウンディング生成の検索ツールとして使用できます。また、RAG 用の Vertex API を使用して、既存の検索をより高い品質にアップグレードすることもできます。詳細については、グラウンディングの概要をご覧ください。
Vertex AI RAG Engine: Vertex AI RAG Engine は、RAG オーケストレーション用のフルマネージド ランタイムを提供します。これにより、デベロッパーは本番環境やエンタープライズ対応のコンテキストで使用する RAG を構築できます。
詳細については、Vertex AI の生成 AI のドキュメントで Vertex AI RAG Engine の概要をご覧ください。
Google 検索: Gemini モデルで Google 検索によるグラウンディングを使用すると、Gemini は Google 検索を使用して、関連する検索結果に対する根拠のある出力を生成します。この取得方法では管理は不要で、Gemini で世界中の知識を利用できます。
詳細については、Vertex AI の生成 AI のドキュメントで Google 検索を使用したグラウンディングをご覧ください。
生成
ニーズに最適な生成方法を選択します。
データでグラウンディングする: ユーザーのクエリに対する根拠のある回答を生成します。グラウンディングされた生成 API は、特別にファインチューニングされた Gemini モデルを使用します。これは、ハルシネーションを減らし、グラウンディング サポート コンテンツへの参照を含む、ソースまたはサードパーティのソースにグラウンディングされたレスポンスを提供するための効果的な方法です。
詳細については、RAG を使用して根拠のある回答を生成するをご覧ください。
Vertex AI で生成 AI を使用して、Vertex AI Search データに対する回答をグラウンディングすることもできます。詳細については、データでグラウンディングするをご覧ください。
Google 検索でグラウンディングする: Gemini は Google の最も高性能なモデルであり、Google 検索を使用したグラウンディングをすぐに利用できます。これを使用して、完全にカスタマイズされたグラウンディング生成ソリューションを構築できます。
詳細については、Vertex AI の生成 AI のドキュメントのGoogle 検索を使用したグラウンディングをご覧ください。
Model Garden: 完全な制御と任意のモデルが必要な場合は、生成用に Vertex AI Model Garden の任意のモデルを使用できます。
独自の検索拡張生成を構築する
グラウンディング用のカスタム RAG システムを開発すると、プロセスのすべてのステップで柔軟性と制御が可能になります。Vertex AI には、独自の検索ソリューションの作成に役立つ API スイートが用意されています。これらの API を使用すると、RAG アプリケーションの設計を柔軟に行うことができます。また、これらの低レベルの 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 では、ドキュメントが特定のクエリにどの程度適切に回答しているかをより正確にスコア付けできます。
詳細については、ランキング API で検索と RAG の品質を改善するをご覧ください。
Grounded generation API。Grounded generation API を使用して、ユーザーのプロンプトに対する根拠のある回答を生成します。グラウンディング ソースは、Vertex AI Search データストア、ユーザーが提供するカスタムデータ、Google 検索にすることができます。
詳細については、グラウンディングされた回答を生成するをご覧ください。
コンテンツ生成 API。コンテンツ生成 API を使用して、ユーザーのプロンプトに対する根拠のある回答を生成します。グラウンディング ソースは、Vertex AI Search データストアまたは Google 検索にすることができます。
詳細については、Google 検索でグラウンディングするまたはデータでグラウンディングするをご覧ください。
Check grounding API。 Check grounding API は、特定のテキストの一部が特定の参照テキストのセットにおいてどの程度根拠があるかを判断します。API は、参照テキストから引用を生成して、指定されたテキストが参照テキストでサポートされている場所を示すことができます。この API は、RAG システムからの回答のグラウンディング度合いを評価するために使用できます。また、試験運用版の機能として、API は、指定されたテキストと参照テキストが一致しない箇所を示す矛盾する引用も生成します。
詳しくは、グラウンディングを確認するをご覧ください。
ワークフロー: 非構造化データから根拠のある回答を生成する
Vertex AI RAG API を統合して非構造化データから根拠のある回答を生成するワークフローの概要を次に示します。
- PDF ファイル、HTML ファイル、テキストを含む画像などの非構造化ドキュメントを Cloud Storage の場所にインポートします。
- レイアウト パーサーを使用して、インポートしたドキュメントを処理します。レイアウト パーサーは、非構造化ドキュメントをチャンクに分割し、非構造化コンテンツを構造化された表現に変換します。レイアウト パーサーは、チャンクからアノテーションも抽出します。
- Vertex AI Text Embeddings API を使用して、チャンクのテキスト エンベディングを作成します。
- Vector Search を使用してチャンクのエンベディングをインデックスに登録して取得します。
- ランキング API を使用してチャンクをランク付けし、上位のチャンクを特定します。
- Grounded generation API またはコンテンツ生成 API を使用して、上位ランクのチャンクに基づいて根拠のある回答を生成します。
Google モデル以外の回答生成モデルを使用して回答を生成した場合は、Check grounding メソッドを使用して、これらの回答の根拠を確認できます。