このページでは、Vertex AI Search のデータを使用してレスポンスをグラウンディングする方法について説明します。
Gemini のレスポンスをグラウンディングする
検索拡張生成(RAG)を行う場合は、モデルをウェブサイトのデータまたはドキュメント セットに接続し、Vertex AI Search によるグラウンディングを使用します。
データへのグラウンディングは、最大 10 個の Vertex AI Search データソースをサポートし、Google 検索を使用したグラウンディングと組み合わせることができます。
サポートされているモデル
このセクションでは、データでのグラウンディングをサポートするモデルを示します。
- Live API ネイティブ音声を使用した Gemini 2.5 Flash
プレビュー - Live API を使用した Gemini 2.0 Flash
プレビュー - Gemini 2.5 Pro
プレビュー - Gemini 2.5 Flash
プレビュー - Gemini 2.0 Flash
前提条件
モデル出力をデータにグラウンディングする前に、次の操作を行います。
Google Cloud コンソールで [IAM] ページに移動し、接地サービスの動作に必要な
discoveryengine.servingConfigs.search
権限を検索します。AI Applications を有効にして API を有効にする。
AI Applications のデータソースとアプリを作成する。
詳細については、Vertex AI Search の概要をご覧ください。
AI Applications を有効にする
Google Cloud コンソールで、[AI アプリケーション] ページに移動します。
利用規約を読んで同意し、[続行して API を有効にする] をクリックします。
AI Applications は、global
ロケーション、または eu
と us
のマルチリージョンで使用できます。詳細については、AI Applications のロケーションをご覧ください。
AI Applications でデータストアを作成する
AI Applications でデータストアを作成するには、ウェブサイトのデータまたはドキュメントでグラウンディングすることを選択できます。
ウェブサイト
コンソールで [データストアの作成] ページを開きます。 Google Cloud
[ウェブサイトのコンテンツ] ボックスで [選択] をクリックします。
[データストアのウェブサイトの指定] ペインが表示されます。[ウェブサイトの高度なインデックス登録] チェックボックスがオンになっていない場合は、[ウェブサイトの高度なインデックス登録] チェックボックスをオンにします。
[データストアの構成] ペインが表示されます。[インデックスに登録する URL パターンを指定してください] セクションで、次の操作を行います。
- [追加するサイト] に URL を追加します。
- 省略可: [除外するサイト] に URL を追加します。
[続行] をクリックします。
[データストアの構成] ペインで、
- [データストアのロケーション] リストから値を選択します。
- [データストア名] フィールドに名前を入力します。ID が生成されます。この ID は、データストアでグラウンディングされた回答を生成するときに使用します。詳細については、データストアでグラウンディングされた回答を生成するをご覧ください。
- [作成] をクリックします。
ドキュメント
コンソールで [データストアの作成] ページを開きます。 Google Cloud
[Cloud Storage] ボックスで [選択] をクリックします。
[Cloud Storage のデータをインポート] ペインが表示されます。[非構造化ドキュメント(PDF、HTML、TXT など)] セクションで、[非構造化ドキュメント(PDF、HTML、TXT など)] を選択します。
[同期の頻度] オプションを選択します。
[インポートするフォルダまたはファイルを選択します] オプションを選択し、フィールドにパスを入力します。
[続行] をクリックします。
[データストアの構成] ペインが表示されます。[データストアの構成] ペインで、
- [データストアのロケーション] リストから値を選択します。
- [データストア名] フィールドに名前を入力します。ID が生成されます。
- ドキュメントの解析とチャンキングのオプションを選択するには、[ドキュメント処理オプション] セクションを開きます。さまざまなパーサーの詳細については、ドキュメントを解析するをご覧ください。
- [作成] をクリックします。
[作成] をクリックします。
データストアを使用して根拠のある回答を生成する
独自のデータでモデルをグラウンディングするには、次の手順で操作します。最大 10 個のデータストアがサポートされます。
データストア ID がわからない場合は、次の操作を行います。
Google Cloud コンソールで [AI Applications] ページに移動し、ナビゲーション メニューで [データストア] をクリックします。
データストアの名前をクリックします。
データストアの [データ] ページで、データストア ID を取得します。
コンソール
Google Cloud コンソールで Vertex AI Studio を使用してモデル出力を AI アプリケーションにグラウンディングする手順は次のとおりです。
- Google Cloud コンソールで、[Vertex AI Studio 自由形式] ページに移動します。
- グラウンディングを有効にするには、[グラウンディング: データ] をオンに切り替えます。
- [カスタマイズ] をクリックします。
- ソースとして [Vertex AI Search] を選択します。
- 次のパス形式を使用して、データストアのプロジェクト ID とデータストアの ID を置き換えます。
projects/project_id/locations/global/collections/default_collection/dataStores/data_store_id
- [保存] をクリックします。
- テキスト ボックスにプロンプトを入力し、[送信] をクリックします。
プロンプトの回答が AI アプリケーションにグラウンディングされます。
Python
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Python の設定手順を完了してください。詳細については、Vertex AI Python API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
REST
Vertex AI API を使用してテキスト プロンプトをテストするには、パブリッシャー モデル エンドポイントに POST リクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: リクエストを処理するリージョン。
- PROJECT_ID: 実際のプロジェクト ID。
- MODEL_ID: マルチモーダル モデルのモデル ID。
- TEXT: プロンプトに含める指示のテキスト。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
リクエストの本文(JSON):
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }], "tools": [{ "retrieval": { "vertexAiSearch": { "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID } } }], "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID" }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "candidates": [ { "content": { "role": "model", "parts": [ { "text": "You can make an appointment on the website https://dmv.gov/" } ] }, "finishReason": "STOP", "safetyRatings": [ "..." ], "groundingMetadata": { "retrievalQueries": [ "How to make appointment to renew driving license?" ], "groundingChunks": [ { "retrievedContext": { "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AXiHM.....QTN92V5ePQ==", "title": "dmv" } } ], "groundingSupport": [ { "segment": { "startIndex": 25, "endIndex": 147 }, "segment_text": "ipsum lorem ...", "supportChunkIndices": [1, 2], "confidenceScore": [0.9541752, 0.97726375] }, { "segment": { "startIndex": 294, "endIndex": 439 }, "segment_text": "ipsum lorem ...", "supportChunkIndices": [1], "confidenceScore": [0.9541752, 0.9325467] } ] } } ], "usageMetadata": { "..." } }
レスポンスを理解する
どちらの API からのレスポンスにも、LLM によって生成されたテキスト(候補)が含まれます。モデル プロンプトが Elasticsearch データソースに正常にグラウンディングされた場合、レスポンスにはグラウンディング メタデータが含まれます。これは、Elasticsearch データから取得されたレスポンスの部分を識別します。ただし、このメタデータが提供されず、プロンプト レスポンスがグラウンディングされない場合もあります。その理由はいくつかあります。たとえば、ソースの関連性が低い、モデルのレスポンス内の情報が不完全である、などです。
出力データの詳細は次のとおりです。
- ロール: グラウンディングされた回答の送信者を示します。レスポンスには常にグラウンディングされたテキストが含まれるため、ロールは常に
model
です。 - テキスト: LLM によって生成されたグラウンディングされた回答。
- グラウンディング メタデータ: 根拠づけのソースに関する情報。次の要素が含まれます。
- グラウンディング チャンク: 回答をサポートする Elasticsearch インデックスの結果のリスト。
- グラウンディング サポート: 回答内の特定の主張に関する情報。引用を表示するために使用できます。
- セグメント: 接地チャンクで裏付けられたモデルの回答の一部。
- 接地チャンク インデックス: このクレームに対応する接地チャンクリスト内の接地チャンクのインデックス。
- 信頼スコア: 0 ~ 1 の数値で、主張が指定されたグラウンディング チャンクのセットにおいてどの程度根拠があるかを示します。Gemini 2.5 以降では使用できません。
次のステップ
- チャット プロンプト リクエストの送信方法については、マルチターン チャットをご覧ください。
- 責任ある AI のベスト プラクティスと Vertex AI の安全フィルタについては、安全に使用するためのベスト プラクティスをご覧ください。