スニペットと抽出されたコンテンツを取得する

Vertex AI Search では、検索スニペット、抽出回答、抽出セグメントを各検索レスポンスで提供して、結果を改善できます。

  • スニペット: スニペットは、検索結果のドキュメントから抽出された短いテキストで、検索結果のコンテンツのプレビューとして機能します。UI でレンダリングできるヒットハイライトが含まれています。通常、スニペットは各検索結果の下に表示され、エンドユーザーがその結果の関連性と有用性を判断するのに役立ちます。スニペットは、非構造化データとウェブサイト データ(基本的なウェブサイト検索と高度なウェブサイト インデックス登録の両方)を含むデータストアで使用できます。

  • 抽出回答: 抽出回答は、検索結果ごとに返される逐語的テキストです。元のドキュメントから直接抽出されます。抽出回答は通常、ウェブページの上部付近に表示されます。これは、クエリに文脈的に関連する簡潔な回答をエンドユーザーに提供することを目的としています。抽出回答は、非構造化データと高度なウェブサイト インデックス登録を備えたデータストアで使用できます。

  • 抽出セグメント: 抽出セグメントは、各検索結果とともに返される逐語的テキストです。通常、抽出セグメントは抽出回答よりも冗長です。抽出セグメントは、クエリへの回答として表示できます。また、ポスト処理タスクの実行や、大規模言語モデルの入力として使用して、回答や新しいテキストを生成することもできます。抽出セグメントは、非構造化データと高度なウェブサイト インデックス登録を使用するデータストアで使用できます。

次の例は、スニペット、抽出回答、抽出セグメントの違いを示しています。

クエリ: 「Vertex AI Agent Builder とは何ですか?」

  • スニペット:

    これを実現するため、Google は新しい Vertex AI Agent Builder を発表します。これは、デベロッパーが bot などの生成アプリの作成を迅速に開始できる最も速い方法です。

  • 抽出回答:

    Vertex AI Agent Builder を使用すると、デベロッパーは bot、チャット インターフェース、カスタム検索エンジン、デジタル アシスタントなどの新しいエクスペリエンスを迅速にリリースできます。デベロッパーは Google の基盤モデルに API でアクセスでき、すぐに使えるテンプレートを使用して、数分から数時間で生成アプリの作成を開始できます。

  • 抽出型セグメント:

    企業や政府機関も、この新しい AI テクノロジーを使用して、顧客、パートナー、従業員とのやり取りをより効果的で有益なものにしたいと考えています。これを実現するため、新しい Vertex AI Agent Builder を発表します。

    Vertex AI Agent Builder を使用すると、デベロッパーは bot、チャット インターフェース、カスタム検索エンジン、デジタル アシスタントなどの新しいエクスペリエンスを迅速にリリースできます。デベロッパーは Google の基盤モデルに API でアクセスでき、すぐに使えるテンプレートを使用して、数分から数時間で生成アプリの作成を開始できます。Vertex AI Agent Builder を使用すると、デベロッパーは次のこともできます。

    • 組織のデータと情報検索手法を組み合わせて、関連性の高い回答を提供します。
    • テキスト以外の方法で検索したり、回答したりできます。
    • 自然な会話と構造化したフローを組み合わせます。
    • 単に通知するだけでなく、対応します。

始める前に

アプリの種類に応じて、次の前提条件を完了します。

スニペット

スニペットは、各検索結果ドキュメントから抽出された短い部分です。検索結果のプレビューを UI でレンダリングするために、太字の HTML タグでのヒットハイライトが含まれます。通常、スニペットは検索結果の下にプレビュー テキストとしてレンダリングされ、エンドユーザーがその検索結果をクリックするかどうかを判断するのに役立ちます。

スニペットは、ウェブサイト検索と非構造化検索で使用できます。

スニペットを取得する

スニペットを取得するには:

  1. ContentSearchSpec.SnippetSpec を含む検索リクエストを送信し、returnSnippet を true に設定します。

    次の SnippetSpec の例では、検索結果ごとにスニペットを返すことができることを指定しています。

    "contentSearchSpec":
    {
      "snippetSpec":
      {
        "returnSnippet": true
      }
    }
    • returnSnippet: true に設定すると、スニペットを返します。
  2. 検索レスポンスからスニペットを取得します。スニペットは、derivedStructData.snippets で各検索結果とともに返されます。

    検索レスポンスの結果の 1 つとして返されたこのドキュメントの例では、結果とともに太字のヒットハイライト付きのスニペットが含まれています。

    {
      "id": "54321",
      "document": {
        "name": "projects/123/locations/global/collections/default_collection/dataStores/example-datastore/branches/0/documents/54321",
        "id": "54321",
        "derivedStructData": {
          "link": "gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs/2008_google_annual_report.pdf",
          "snippets": [
            {
              "snippet": "Google Chrome. Google Chrome is an open-source browser that combines a minimal design with technologies to make the web faster, safer, and easier to navigate.",
              "snippet_status": "SUCCESS"
            }
          ]
        }
      }
    }
    • snippet: ドキュメント検索結果用に生成されたスニペットが含まれます。 ヒットハイライトは、太字の HTML タグで含まれます。
    • snippet_status: スニペットが生成された場合、このフィールドは SUCCESS として返されます。スニペットが生成されていない場合、このフィールドは NO_SNIPPET_AVAILABLE として返されます。

抜粋された回答

抜粋された回答は、ドキュメントからそのまま抜粋されたテキストの一部です。検索レスポンスで検索結果としてドキュメントが返された場合、その結果とともに関連性の高い抽出回答を返すことができます。

抽出回答は、検索結果のドキュメントから抽出された段落、表、箇条書きなどのテキストです。抽出回答は、抽出セグメントよりも短くなります。

抽出回答は、逐語的な回答が要約よりも優先される場合に、要約された回答の代わりに使用できます。

抽出回答は、非構造化データと高度なウェブサイト インデックス登録を備えたデータストアで使用できます。

抽出回答を取得する

抽出回答を取得するには:

  1. ContentSearchSpec.extractiveContentSpec を使用して maxExtractiveAnswerCount を指定する検索リクエストを送信します。

    次の extractiveContentSpec の例では、検索結果ごとに回答を返すことができることを指定しています。

    "contentSearchSpec":
    {
      "extractiveContentSpec": {
        "maxExtractiveAnswerCount": 1
      }
    }
    • maxExtractiveAnswerCount: 検索結果ごとに返す抽出回答の数。デフォルト値は 0、最大値は 5 です。
  2. 検索レスポンスから抽出回答を取得します。抽出回答は、extractive_answers で各検索結果とともに返されます。

    検索レスポンスの結果の 1 つとして返されたこのドキュメントの例では、抽出回答が結果とともに含まれています。

    {
      "id": "54321",
      "document": {
        "name": "projects/123/locations/global/collections/default_collection/dataStores/example-datastore/branches/0/documents/54321",
        "id": "54321",
        "derivedStructData": {
          "extractive_answers": [
            {
              "pageNumber": "2",
              "content": "Google saw growth throughout the year both in our domestic business and internationally, both on Google owned sites and on the Google Network. Specifically, revenues from Google owned sites increased 101% on a year over year basis, from $792 million to $1.6 billion."
            }
          ],
          "link": "gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs/2004Q4_earnings_google.pdf"
        }
    }
    }
    • pageNumber: ドキュメントからページ番号を抽出できる場合、このフィールドには回答が抽出された場所が示されます。
    • content: 抽出回答の内容。

抽出セグメント

抜粋されたセグメントは、検索結果ドキュメントからそのまま抜粋されたテキストの一部です。抽出セグメントは抽出回答に似ていますが、通常、抽出セグメントはより完全で冗長です。通常、抽出セグメントは、独自の LLM の入力として使用され、回答や新しいテキストを生成します。

抽出セグメントは、表や箇条書きなどの書式設定されたテキストを含む複数の段落にすることができます。

抽出セグメントは、非構造化データと高度なウェブサイト インデックス登録を使用するデータストアで使用できます。

抽出セグメントのオプション

抽出セグメントには、次のオプションがあります。

  • セグメントの数: 検索結果ごとに返される抽出セグメントは最大 10 個まで指定できます。

  • 関連性スコア: 関連性スコアは、抽出セグメントとクエリの類似性に基づいています。抽出セグメントが関連性スコアとともに返されるように指定できます。スコアの範囲は -1.0(関連性が低い)~ 1.0(関連性が高い)です。関連性スコアを有効にすると、レイテンシが増加する可能性があります。

  • 隣接セグメント(プレビュー版): numPreviousSegmentsnumNextSegments を設定すると、関連するセグメントの直前と直後から最大 3 つのセグメントを取得できます。隣接するセグメントは、関連するセグメントのコンテキストと精度を高めることができます。

    隣接セグメントを有効にすると、レイテンシが増加する可能性があります。

抽出セグメントを取得する

次の手順では、非構造化データの抽出セグメントを取得する方法について説明します。 同様の手順で、ウェブサイト データの抽出セグメントを取得できます。

  1. ContentSearchSpec.extractiveContentSpec を使用して maxExtractiveSegmentCount を指定する検索リクエストを送信します。

    次の extractiveContentSpec の例では、検索結果ごとに 1 つのセグメントを返すことを指定しています。

    "contentSearchSpec":
    {
      "extractiveContentSpec": {
        "maxExtractiveSegmentCount": 1
      }
    }
    • maxExtractiveSegmentCount: 検索結果ごとに返す抽出セグメントの数。デフォルト値は 0、最大値は 10 です。

    その他のオプション

    • returnExtractiveSegmentScore: 返される各セグメントとともに関連性スコアを返すように true に設定します。
    • numPreviousSegments: 関連するセグメントの前に返す隣接セグメントの数。デフォルト値は 0、最大値は 3 です。隣接するセグメントを使用すると、レイテンシが増加する可能性があります。
    • numNextSegments: 関連するセグメントの後に返す隣接セグメントの数。デフォルト値は 0、最大値は 3 です。隣接するセグメントを使用すると、レイテンシが増加する可能性があります。

    これらのオプションの詳細については、抽出セグメント オプションをご覧ください。

  2. 検索レスポンスからセグメントを取得します。セグメントは、extractive_segments 内で各検索結果とともに返されます。

    検索レスポンスの結果の 1 つとして返されたこのドキュメントの例では、セグメントが結果とともに含まれています。

    {
      "id": "54321",
      "document": {
        "name": "projects/123/locations/global/collections/default_collection/dataStores/example-datastore/branches/0/documents/54321",
        "id": "54321",
        "derivedStructData": {
          "extractive_segments": [
            {
              "pageNumber": "2",
              "content": "Client\nGoogle Toolbar. Google Toolbar is a free application that adds a Google search box to web browsers (Internet\nExplorer and Firefox) and improves user web experience through features such as a pop-up blocker that blocks\npop-up advertising, an autofill feature that completes web forms with information saved on a user's computer, and\ncustomizable buttons that let users search their favorite web sites and stay updated on their favorite feeds.\n\nGoogle Chrome. Google Chrome is an open-source browser that combines a minimal design with\ntechnologies to make the web faster, safer, and easier to navigate.\nGoogle Pack. Google Pack is a free collection of safe, useful software programs from Google and other\ncompanies that improve the user experience online and on the desktop. It includes programs that help users\nbrowse the web faster, remove spyware and viruses.\n\nPicasa. Picasa is a free service that allows users to view, manage and share their photos. Picasa enables users\nto import, organize and edit their photos, and upload them to Picasa Web Albums where the photos can be shared\nwith others on the internet.\n\nGoogle Desktop. Google Desktop lets people perform a full-text search on the contents of their own\ncomputer, including email, files, instant messenger chats and web browser history. Users can view web pages they\nhave visited even when they are not online. Google Desktop also includes a customizable Sidebar that includes\nmodules for weather, stock tickers and news.\n\n5"
            }
          ],
          "link": "gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs/2004Q4_earnings_google.pdf"
        }
    }
    }
    • pageNumber: ドキュメントからページ番号を抽出できる場合、このフィールドには回答が抽出された場所が示されます。
    • content: 抽出セグメントの内容。

次のステップ