予測入力を構成する

このページでは、Vertex AI Search の基本的な予測入力機能について説明します。予測入力は、クエリに入力された最初の数文字に基づいてクエリの候補を生成します。

予測入力で生成される候補は、検索アプリが使用するデータの種類によって異なります。

  • 構造化および非構造化データ。デフォルトでは、予測入力はデータストア内のドキュメントの内容に基づいて候補を生成します。 ドキュメントのインポート後、デフォルトでは、十分な品質のデータ(通常は数日間)が存在するまで、予測入力は候補の生成を開始しません。API 経由で予測入力リクエストを行うと、検索履歴やユーザー イベントに基づいて候補が生成されます。

  • ウェブサイトのデータ。デフォルトでは、予測入力は検索履歴から候補を生成します。予測入力には、実際の検索トラフィックが必要です。検索トラフィックが開始されてから、予測入力が候補を生成できるようになるまでに 1~2 日かかります。候補は、試験運用版の高度なドキュメント データモデルを使用して、一般公開サイトからウェブクロールされたデータから生成できます。

  • 医療データ。デフォルトでは、医療データストアの予測入力候補の生成に、標準的な医療データソースが使用されます。医療検索の場合、予測入力はプレビュー機能です。

予測入力データモデルは、予測入力で候補の生成に使用するデータの種類を決定します。予測入力モデルには次の 4 種類があります。

  • Document. ドキュメント モデルは、ユーザーがインポートしたドキュメントから候補を生成します。このモデルは、ウェブサイトのデータや医療データでは使用できません。

  • 完了可能フィールド。完了可能フィールド モデルは、構造化データ フィールドから直接取得したテキストを提案します。予測入力候補に使用されるのは、completable でアノテーションされたフィールドのみです。このモデルは構造化データでのみ使用できます。

  • 検索履歴。検索履歴モデルは、SearchService.search API 呼び出しの履歴から候補を生成します。servingConfigs.search メソッドで使用できるトラフィックがない場合、このモデルは使用しないでください。このモデルは、医療データでは使用できません。

  • ユーザー イベント。ユーザー イベント モデルは、ユーザーがインポートした検索イベントから候補を生成します。このモデルは、医療データでは使用できません。

予測入力リクエストは dataStores.completeQuery メソッドを使用して送信されます。

次の表に、各データ型で使用可能な予測入力モデルのタイプを示します。


予測入力データモデル

データソース

ウェブサイトのデータ

構造化データ

非構造化データ
ドキュメント ユーザーによるインポート ✔* (デフォルト) ✔(デフォルト)
完了可能フィールド ユーザーによるインポート
検索履歴 自動収集 ✔ (デフォルト)
ユーザー イベント ユーザーによるインポート、またはウィジェットによる自動収集
ウェブクロール済みコンテンツ ユーザー指定の一般公開ウェブサイトのコンテンツからクロール

*: ドキュメント スキーマに title フィールドまたは description フィールドが含まれているか、title または description キー プロパティとして指定されたフィールドが含まれている必要があります。構造化データのスキーマを更新するをご覧ください。

: ウェブクロールされたコンテンツをデータソースとして使用できるのは、予測入力の試験運用版の高度なドキュメント データモデルが有効になっている場合のみです。高度なドキュメント データモデルをご覧ください。

データ型に対するデフォルト モデルを使用しない場合は、予測入力リクエストを送信するときに別のモデルを指定できます。予測入力リクエストは dataStores.completeQuery メソッドを使用して送信されます。詳細については、API の手順: 予測入力リクエストを送信して別のモデルを選択するをご覧ください。

予測入力機能

Vertex AI Search は、検索時に最も有用な予測を表示する次の予測入力機能をサポートしています。

機能 説明 例や詳細
入力ミスを訂正する 入力ミスがある単語のスペルを修正します。 MilcMilk
安全でない用語を削除する
  • Google セーフサーチを利用。
  • 不適切なクエリを削除します。
  • 英語(en)、フランス語(fr)、ドイツ語(de)、イタリア語(it)、ポーランド語(pl)、ポルトガル語(pt)、ロシア語(ru)、スペイン語(es)、ウクライナ語(uk)でサポートされています。
ポルノ、露骨、下品、暴力などの不適切なテキスト。
拒否リスト
  • 拒否リストに登録されている用語を削除します。
詳細については、予測入力の拒否リストを使用するをご覧ください。
重複排除用語
  • AI を活用したセマンティック理解を利用。
  • 近い用語の場合、どちらの用語も一致しますが、より人気のある用語のみが提案されます。
Shoes for WomenWomens ShoesWomans Shoes は重複除去され、最も人気のあるものだけが候補として表示されます。
末尾一致の候補
  • 米国と EU のマルチリージョンでは使用できません。
  • オプション設定。
  • クエリ全体に一致する予測入力がない場合、クエリの末尾の単語のみの一致を候補として提示します。
  • 医療検索には使用できません。
詳細については、末尾一致の候補をご覧ください。

末尾一致の候補

末尾一致の候補は、クエリ文字列の最後の単語に対して完全な接頭辞一致を使用して生成されます。

たとえば、予測入力リクエストで「songs with he」というクエリが送信されたとします。末尾一致が有効になっている場合、予測入力では「songs with he」という完全な接頭辞に一致するものが見つからないことがあります。ただし、クエリの最後の単語「he」は、「hello world」と「hello kitty」と完全に一致する接頭辞です。その場合、完全一致の候補がないため、「songs with hello world」と「songs with hello kitty」が返されます。

この機能を使用すると、空の候補結果を減らし、候補の多様性を高めることができます。これは、データソース(ユーザー イベント数、検索履歴、ドキュメントのトピック範囲)が限られている場合に特に便利です。ただし、末尾一致の候補を有効にすると、候補の全体的な品質が低下する可能性があります。末尾一致は接頭辞の末尾の単語にのみ一致するため、返される候補の一部は意味がないものになる可能性があります。たとえば、「songs with he」というクエリに対して、「songs with helpers guides」のような末尾一致の候補が提示される場合があります。

末尾一致の候補は、次の場合にのみ返されます。

  1. include_tail_suggestions が、dataStores.completeQuery リクエストで true に設定されている。

  2. クエリに完全な接頭辞一致の候補がない。

ウィジェットの予測入力をオンまたはオフにする

ウィジェットの予測入力をオンまたはオフにするには、次の手順を行います。

Console

  1. Google Cloud コンソールで、[Agent Builder] ページに移動します。

    Agent Builder

  2. 編集するアプリの名前をクリックします。

  3. [設定] をクリックします。

  4. [UI] タブをクリックします。

  5. [予測入力の候補を表示] オプションを切り替えて、ウィジェットの予測入力の候補のオンとオフを切り替えます。予測入力を有効にすると、候補が表示されるまで 1~2 日かかります。医療検索の場合、予測入力はプレビュー機能です。

予測入力の設定を更新する

予測入力の設定を構成する手順は次のとおりです。

Console

  1. Google Cloud コンソールで、[Agent Builder] ページに移動します。

    Agent Builder

  2. 編集するアプリの名前をクリックします。

  3. [設定] をクリックします。

  4. [予測入力] タブをクリックします。

  5. 更新する予測入力設定の新しい値を入力または選択します。

    • 候補の最大数: クエリに対して表示できる予測入力の候補の最大数。
    • トリガーする最小の長さ: 予測入力の候補が表示される前に入力できる最小文字数。
    • マッチング順序: 予測入力が候補の照合を開始できるクエリ文字列内の位置。
    • 予測入力モデル: 取得された候補の生成に使用される予測入力データモデル。これは、queryModel パラメータを使用して dataStores.completeQuery でオーバーライドできます。
    • 予測入力を有効にする: デフォルトでは、十分な品質のデータ(通常は数日間)が収集されるまで、予測入力は候補の提示を開始しません。このデフォルトをオーバーライドして、予測入力の候補をすぐに表示するには、[今すぐ] を選択します。

      [今すぐ] を選択した場合でも、候補の生成に 1 日かかることがあります。また、十分な量の優れたデータが得られるまで、一部の予測入力候補が欠落したり、品質が低下したりすることがあります。

  6. [保存して公開] をクリックします。予測入力がすでにオンになっているエンジンでは、変更は数分以内に有効になります。

スキーマ内の完了可能なフィールドのアノテーションを更新する

構造化データ スキーマのフィールドの予測入力を有効にする手順は次のとおりです。

Console

  1. Google Cloud コンソールで、[Agent Builder] ページに移動します。

    Agent Builder

  2. 編集するアプリの名前をクリックします。構造化データを使用する必要があります。

  3. [データ] をクリックします。

  4. [スキーマ] タブをクリックします。

  5. [編集] をクリックして、completable としてマークするスキーマ フィールドを選択します。

  6. [保存] をクリックして、更新したフィールドの設定を保存します。これらの候補が生成されて返されるまでには 1 日ほどかかります。

予測入力リクエストを送信する

次のサンプルは、予測入力リクエストを送信する方法を示しています。

REST

API を使用して予測入力リクエストを送信する手順は次のとおりです。

  1. データストア ID を確認します。データストア ID がすでにある場合は、次のステップに進みます。

    1. Google Cloud コンソールで [Agent Builder] ページに移動し、ナビゲーション メニューで [データストア] をクリックします。

      [データストア] ページに移動

    2. データストアの名前をクリックします。

    3. データストアの [データ] ページで、データストア ID を取得します。

  2. dataStores.completeQuery メソッドを呼び出します。

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID:completeQuery?query=QUERY_STRING"
    
    • PROJECT_ID: Google Cloud プロジェクトのプロジェクト番号または ID。

    • LOCATION: データストアのロケーション(useuglobal)。

    • DATA_STORE_ID: アプリに関連付けられているデータストアの ID。

    • QUERY_STRING: 候補の取得に使用されるタイプアヘッド入力。

別のモデルに予測入力リクエストを送信する

別の予測入力データモデルを使用して予測入力リクエストを送信する手順は次のとおりです。

  1. データストア ID を確認します。データストア ID がすでにある場合は、次のステップに進みます。

    1. Google Cloud コンソールで [Agent Builder] ページに移動し、ナビゲーション メニューで [データストア] をクリックします。

      [データストア] ページに移動

    2. データストアの名前をクリックします。

    3. データストアの [データ] ページで、データストア ID を取得します。

  2. dataStores.completeQuery メソッドを呼び出します。

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID:completeQuery?query=QUERY_STRING&query_model=AUTOCOMPLETE_MODEL"
    
    • PROJECT_ID: Google Cloud プロジェクトのプロジェクト番号または ID。
    • LOCATION: データストアのロケーション(useuglobal)。
    • DATA_STORE_ID: アプリに関連付けられているデータストアの一意の ID。
    • QUERY_STRING: 候補の取得に使用されるタイプアヘッド入力。
    • AUTOCOMPLETE_MODEL: リクエストに使用する予測入力データモデル(documentdocument-completablesearch-historyuser-event)。医療データの場合は、healthcare-default を使用します。

C#

詳細については、Vertex AI Agent Builder C# API のリファレンス ドキュメントをご覧ください。

Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。

using Google.Cloud.DiscoveryEngine.V1;

public sealed partial class GeneratedCompletionServiceClientSnippets
{
    /// <summary>Snippet for CompleteQuery</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CompleteQueryRequestObject()
    {
        // Create client
        CompletionServiceClient completionServiceClient = CompletionServiceClient.Create();
        // Initialize request argument(s)
        CompleteQueryRequest request = new CompleteQueryRequest
        {
            DataStoreAsDataStoreName = DataStoreName.FromProjectLocationDataStore("[PROJECT]", "[LOCATION]", "[DATA_STORE]"),
            Query = "",
            QueryModel = "",
            UserPseudoId = "",
            IncludeTailSuggestions = false,
        };
        // Make the request
        CompleteQueryResponse response = completionServiceClient.CompleteQuery(request);
    }
}

Go

詳細については、Vertex AI Agent Builder Go API のリファレンス ドキュメントをご覧ください。

Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。


package main

import (
	"context"

	discoveryengine "cloud.google.com/go/discoveryengine/apiv1"
	discoveryenginepb "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := discoveryengine.NewCompletionClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &discoveryenginepb.CompleteQueryRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb#CompleteQueryRequest.
	}
	resp, err := c.CompleteQuery(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

詳細については、Vertex AI Agent Builder Java API のリファレンス ドキュメントをご覧ください。

Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。

import com.google.cloud.discoveryengine.v1.CompleteQueryRequest;
import com.google.cloud.discoveryengine.v1.CompleteQueryResponse;
import com.google.cloud.discoveryengine.v1.CompletionServiceClient;
import com.google.cloud.discoveryengine.v1.DataStoreName;

public class SyncCompleteQuery {

  public static void main(String[] args) throws Exception {
    syncCompleteQuery();
  }

  public static void syncCompleteQuery() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CompletionServiceClient completionServiceClient = CompletionServiceClient.create()) {
      CompleteQueryRequest request =
          CompleteQueryRequest.newBuilder()
              .setDataStore(
                  DataStoreName.ofProjectLocationDataStoreName(
                          "[PROJECT]", "[LOCATION]", "[DATA_STORE]")
                      .toString())
              .setQuery("query107944136")
              .setQueryModel("queryModel-184930495")
              .setUserPseudoId("userPseudoId-1155274652")
              .setIncludeTailSuggestions(true)
              .build();
      CompleteQueryResponse response = completionServiceClient.completeQuery(request);
    }
  }
}

Node.js

詳細については、Vertex AI Agent Builder Node.js API のリファレンス ドキュメントをご覧ください。

Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The parent data store resource name for which the completion is
 *  performed, such as
 *  `projects/* /locations/global/collections/default_collection/dataStores/default_data_store`.
 */
// const dataStore = 'abc123'
/**
 *  Required. The typeahead input used to fetch suggestions. Maximum length is
 *  128 characters.
 */
// const query = 'abc123'
/**
 *  Specifies the autocomplete data model. This overrides any model specified
 *  in the Configuration > Autocomplete section of the Cloud console. Currently
 *  supported values:
 *  * `document` - Using suggestions generated from user-imported documents.
 *  * `search-history` - Using suggestions generated from the past history of
 *  SearchService.Search google.cloud.discoveryengine.v1.SearchService.Search 
 *  API calls. Do not use it when there is no traffic for Search API.
 *  * `user-event` - Using suggestions generated from user-imported search
 *  events.
 *  * `document-completable` - Using suggestions taken directly from
 *  user-imported document fields marked as completable.
 *  Default values:
 *  * `document` is the default model for regular dataStores.
 *  * `search-history` is the default model for site search dataStores.
 */
// const queryModel = 'abc123'
/**
 *  A unique identifier for tracking visitors. For example, this could be
 *  implemented with an HTTP cookie, which should be able to uniquely identify
 *  a visitor on a single device. This unique identifier should not change if
 *  the visitor logs in or out of the website.
 *  This field should NOT have a fixed value such as `unknown_visitor`.
 *  This should be the same identifier as
 *  UserEvent.user_pseudo_id google.cloud.discoveryengine.v1.UserEvent.user_pseudo_id 
 *  and
 *  SearchRequest.user_pseudo_id google.cloud.discoveryengine.v1.SearchRequest.user_pseudo_id.
 *  The field must be a UTF-8 encoded string with a length limit of 128
 *  characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
 */
// const userPseudoId = 'abc123'
/**
 *  Indicates if tail suggestions should be returned if there are no
 *  suggestions that match the full query. Even if set to true, if there are
 *  suggestions that match the full query, those are returned and no
 *  tail suggestions are returned.
 */
// const includeTailSuggestions = true

// Imports the Discoveryengine library
const {CompletionServiceClient} = require('@google-cloud/discoveryengine').v1;

// Instantiates a client
const discoveryengineClient = new CompletionServiceClient();

async function callCompleteQuery() {
  // Construct request
  const request = {
    dataStore,
    query,
  };

  // Run request
  const response = await discoveryengineClient.completeQuery(request);
  console.log(response);
}

callCompleteQuery();

Python

詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。

Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import discoveryengine_v1


def sample_complete_query():
    # Create a client
    client = discoveryengine_v1.CompletionServiceClient()

    # Initialize request argument(s)
    request = discoveryengine_v1.CompleteQueryRequest(
        data_store="data_store_value",
        query="query_value",
    )

    # Make the request
    response = client.complete_query(request=request)

    # Handle the response
    print(response)

Ruby

詳細については、Vertex AI Agent Builder Ruby API のリファレンス ドキュメントをご覧ください。

Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。

require "google/cloud/discovery_engine/v1"

##
# Snippet for the complete_query call in the CompletionService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::DiscoveryEngine::V1::CompletionService::Client#complete_query.
#
def complete_query
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::DiscoveryEngine::V1::CompletionService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::DiscoveryEngine::V1::CompleteQueryRequest.new

  # Call the complete_query method.
  result = client.complete_query request

  # The returned object is of type Google::Cloud::DiscoveryEngine::V1::CompleteQueryResponse.
  p result
end

予測入力の拒否リストを使用する

拒否リストを使用して、特定の用語が予測入力の候補として表示されないようにします。

たとえば、製薬会社について考えてみましょう。薬が FDA の承認を受けなくなったが、データストア内のドキュメントに記載されている場合は、その薬が候補の検索語句として表示されないようにしたい場合があります。この企業は、その薬の名前を拒否リストに追加して、候補として表示されないようにすることができます。

次の上限が適用されます。

  • データストアごとに 1 つの拒否リスト
  • 拒否リストをアップロードすると、そのデータストアの既存の拒否リストが上書きされます。
  • 拒否リストごとに最大 1,000 個のキーワード
  • キーワードは大文字と小文字が区別されません
  • 拒否リストをインポートしてから有効になるまで 1~2 日かかります

拒否リストの各エントリは、blockPhrasematchOperator で構成されます。

  • blockPhrase: 拒否リストの用語として文字列を入力します。キーワードは大文字と小文字が区別されません。
  • matchOperator: 次の値を使用できます。
    • EXACT_MATCH: 拒否リストのキーワードと完全に一致するキーワードが候補の検索語句として表示されないようにします。
    • CONTAINS: 拒否リストのキーワードを含む候補が表示されないようにします。

4 つのエントリを含む拒否リストの例を次に示します。

{
    "entries": [
        {"blockPhrase":"Oranges","matchOperator":"CONTAINS"},
        {"blockPhrase":"bAd apples","matchOperator":"EXACT_MATCH"},
        {"blockPhrase":"Cool as A Cucumber","matchOperator":"EXACT_MATCH"},
        {"blockPhrase":"cherry pick","matchOperator":"CONTAINS"}
    ]
}

拒否リストをインポートする前に、Discovery Engine エディタのアクセスに必要なアクセス制御が設定されていることを確認してください。

拒否リストは、ローカル JSON データまたは Cloud Storage からインポートできます。データストアから拒否リストを削除するには、拒否リストをパージします。

ローカル JSON データから拒否リストをインポートする

拒否リストを含むローカル JSON ファイルから拒否リストをインポートするには、次の操作を行います。

  1. 次の形式でローカル JSON ファイルに拒否リストを作成します。各拒否リスト エントリが改行なしで新しい行に配置されていることを確認します。

    {
        "inlineSource": {
            "entries": [
                { "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" },
                { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
            ]
        }
    }
  2. JSON ファイルの名前を指定して、suggestionDenyListEntries:import メソッドに POST リクエストを送信します。

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        --data @DENYLIST_FILE \
      "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataStores/DATA_STORE_ID/suggestionDenyListEntries:import"
    
    • DENYLIST_FILE: 拒否リストの用語を含む JSON ファイルのローカルパス。
    • PROJECT_ID: Google Cloud プロジェクトのプロジェクト番号または ID。
    • LOCATION: データストアのロケーション(useuglobal)。
    • DATA_STORE_ID: アプリに関連付けられているデータストアの ID。

拒否リストをインポートしてから、候補のフィルタリングが開始されるまで 1~2 日かかります。

Cloud Storage から拒否リストをインポートする

Cloud Storage の JSON ファイルから拒否リストをインポートするには、次の操作を行います。

  1. 次の形式の JSON ファイルで拒否リストを作成し、Cloud Storage バケットにインポートします。各拒否リスト エントリが改行なしで新しい行に配置されていることを確認します。

    { "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" }
    { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
  2. gcsSource オブジェクトを含むローカル JSON ファイルを作成します。これを使用して、Cloud Storage バケット内の拒否リスト ファイルのロケーションを指定します。

    {
        "gcsSource": {
            "inputUris": [ "DENYLIST_STORAGE_LOCATION" ]
        }
    }
    • DENYLIST_STORAGE_LOCATION: Cloud Storage 内の拒否リストのロケーション。入力できる URI は 1 つのみです。URI は gs://BUCKET/FILE_PATH の形式で入力する必要があります。
  3. gcsSource オブジェクトを含む suggestionDenyListEntries:import メソッドに POST リクエストを送信します。

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        --data @GCS_SOURCE_FILE \
       "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataStores/DATA_STORE_ID/suggestionDenyListEntries:import"
    
    • GCS_SOURCE_FILE: 拒否リストを参照する gcsSource オブジェクトを含むファイルのローカルパス。
    • PROJECT_ID: Google Cloud プロジェクトのプロジェクト番号または ID。
    • LOCATION: データストアのロケーション(useuglobal)。
    • DATA_STORE_ID: アプリに関連付けられているデータストアの ID。

拒否リストをインポートしてから、候補のフィルタリングが開始されるまで 1~2 日かかります。

拒否リストをパージする

データストアから拒否リストをパージする手順は次のとおりです。

  1. POST リクエストを suggestionDenyListEntries:purge メソッドに送信します。

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
       "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataStores/DATA_STORE_ID/suggestionDenyListEntries:purge"
    
    • PROJECT_ID: Google Cloud プロジェクトのプロジェクト番号または ID。
    • LOCATION: データストアのロケーション(useuglobal)。
    • DATA_STORE_ID: アプリに関連付けられているデータストアの ID。

高度なドキュメント データモデル

Vertex AI Agent Builder は、予測入力用の高度なデータモデルを提供します。このデータモデルは、インポートしたドキュメントに基づいて、Google の大規模言語モデル(LLM)を活用して高品質の予測入力候補を生成します。

この機能は試験運用中です。この機能の使用に関心をお持ちの場合は、Google Cloud アカウント チームに連絡して許可リストへの追加をリクエストしてください。

この機能は、医療検索や米国と EU のマルチリージョンではご利用いただけません。