高度な予測入力を構成する

このページでは、Vertex AI Search の高度な予測入力機能について説明します。

基本的な予測入力と同様に、高度な予測入力は、クエリに入力された最初の数文字に基づいてクエリの候補を生成します。

このページを読む前に、Vertex AI Search の基本的な予測入力について理解しておいてください。予測入力を構成するをご覧ください。

高度な予測入力の主な機能

高度な予測入力の主な機能は、基本的な予測入力と区別されます。

  • 統合検索: 高度な予測入力は、複数のデータストアに接続されている汎用検索アプリである統合検索アプリで使用できます。

  • アクセス制御: 高度な予測入力はアクセス制御を尊重します。(アクセス制御は ACL(アクセス制御リスト)とも呼ばれます)。高度な予測入力は、検索者がアクセスできるドキュメントに関連する検索のみを提示します。アクセス制御の詳細については、データソースのアクセス制御を使用するをご覧ください。

  • 言語ブースト: 1 つ以上の言語の候補をブーストするように、高度な予測入力を設定できます。たとえば、ブラウザの言語がオランダ語の場合、その言語の予測入力候補をブーストさせることができます。詳細については、言語ブーストを使用して予測入力リクエストを送信するをご覧ください。

  • 最近のクエリ: 高度な予測入力では、通常の予測入力クエリの候補ではなく、入力した文字列の接頭辞と一致する最近のクエリを取得できます。詳細については、予測入力リクエストを送信して最近のクエリを返すをご覧ください。

始める前に

アプリの自動入力設定を確認して、必要に応じて編集します。自動入力設定を更新するをご覧ください。

特にテスト中は、小規模なデータストアの場合は [自動入力を有効にする] を [今すぐ] に設定することをおすすめします。これは、小さなデータストアに、正確な候補を提供するのに十分なデータが含まれていない可能性があるためです。

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

次の例は、completionConfig.completeQuery メソッドを使用して高度な予測入力リクエストを送信する方法を示しています。

REST

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

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

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

      [アプリ] に移動

    2. [アプリ] ページでアプリの名前を見つけ、[ID] 列からアプリの ID を取得します。

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

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING"
        }'
    
    • PROJECT_ID: Google Cloud プロジェクトの ID。

    • APP_ID: Vertex AI Search アプリの ID。

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

言語ブーストを使用して予測入力リクエストを送信する

言語コードに応じて、予測入力候補のをブーストまたは非表示できます。たとえば、一部の言語での予測入力の候補の表示頻度を高めたり低くしたりできます。

値は -1~1 の範囲で指定してください。負の数値を設定すると、その言語の予測入力の候補が「埋もれ」、正の数値を設定すると、その言語がブーストされます。

BCP 47 で定義されている 2 文字の言語タグ(enfrhizh など)を使用します。

REST

言語ブースト値を含む予測入力リクエストを送信する手順は次のとおりです。

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

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

      [アプリ] に移動

    2. [アプリ] ページでアプリの名前を見つけ、[ID] 列からアプリの ID を取得します。

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

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING",
          "boostSpec": {
             "conditionBoostSpecs": [{
               "condition": "(langCode: ANY(LANG_CODE))",
               "boost": BOOST_VALUE
             }]
          }
        }'
    
    
    • PROJECT_ID: Google Cloud プロジェクトの ID。

    • APP_ID: Vertex AI Search アプリの ID。

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

    • LANG_CODE: 1 つ以上の言語の 2 文字コード(エスケープされた引用符で囲む)。たとえば、\"fr\", \"es\" は、スペイン語とフランス語にブースト値を適用します。

    • BOOST_VALUE: -1 から 1 の浮動小数点数。値が負の場合、その言語の予測入力候補は降格されます(候補リストの下位に表示されます)。値が正の場合、結果は昇格されます(リストの上位に表示されます)。

予測入力リクエストを送信して最近のクエリを返す

リクエストのクエリの接頭辞に一致するユーザーの最新のクエリのリストを候補として返します。

一致するクエリ候補は、最新のものから古いものの順に表示されます。最近の検索を使用するには、ユーザーの疑似 ID を指定する必要があります。

ある社員が会社のイントラネット サイトにクエリを実行して、有給休暇に関する情報を取得しています。社員は、最新から古い順に次のクエリを実行しています。

PTOVacation blackout periodsHow much vacation time do I have?Time offVacation policycovering a vacant position during absencesCan I take unpaid time off?

ここで、この社員が検索ボックスに「vac」と入力すると、次のような予測入力の候補が表示されます。

  • Vacation blackout periods
  • How much vacation time do I have?
  • Vacation policy
  • Covering a vacant position during absences

手順

ユーザーの最新のクエリを返す予測入力リクエストを送信する手順は次のとおりです。

REST

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

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

      [アプリ] に移動

    2. [アプリ] ページでアプリの名前を見つけ、[ID] 列からアプリの ID を取得します。

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

    
    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING",
          "suggestionTypes": ["RECENT_SEARCH"],
          "userPseudoId": "USER_PSEUDO_ID"
        }'
    
    
    • PROJECT_ID: Google Cloud プロジェクトの ID。

    • APP_ID: Vertex AI Search アプリの ID。

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

    • USER_PSEUDO_ID: ユーザーの仮名化 ID。このフィールドには HTTP Cookie を使用できます。これにより、1 つのデバイス上の訪問者を一意に識別できます。このフィールドを複数のユーザーに対して同じ ID に設定しないでください。これにより、検索履歴が統合されます。このフィールドには、個人を特定できる情報(PII)は含めないでください。

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

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

高度な予測入力はアプリレベルですが、拒否リストはデータストアレベルです。これは、アプリが統合検索アプリである場合に重要です。アプリに接続されている各データストアの拒否リストを作成します。

拒否リストの作成と使用については、予測入力の拒否リストを使用するをご覧ください。