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

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

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

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

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

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

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

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

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

始める前に

高度な自動補完の使用を開始する前に、次の操作を行います。

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

  • 小規模なデータストアの場合は、[予測入力を有効にする] を [今すぐ] に設定します。小規模なデータストアには、正確な提案を行うのに十分なデータが含まれていない可能性があるため、この方法をおすすめします。

  • データストアに個人情報(PII)が含まれている場合、または検索履歴やユーザー イベントのクエリ候補モデルを使用している場合は、PII の漏洩を防ぐを確認し、PII の漏洩を防ぐために必要なデータ損失防止(DLP)の保護を設定します。

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

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

REST

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

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

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

      [アプリ] に移動

    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/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING"
        }'
    

    次のように置き換えます。

    • PROJECT_ID: 実際のプロジェクトの ID。

    • APP_ID: アプリの ID。

    • QUERY_STRING: 候補の取得に使用される先読み入力。

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

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

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

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

REST

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

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

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

      [アプリ] に移動

    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/v1/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: 実際のプロジェクトの ID。

    • APP_ID: アプリの ID。

    • QUERY_STRING: 候補の取得に使用される先読み入力。

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

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

予測入力リクエストを送信して豊富な候補を返す

リッチ予測入力では、タイトルにクエリで始まる単語が含まれているコンテンツ(ドキュメント)が返されます。

予測入力リクエストは、ドキュメントのタイトルに加えて、source_typeentity_type を返します。また、利用可能な場合は、キー プロパティ(uricreate_timeupdate_time)も返します。キー プロパティのマッピングは、データストア ページの [スキーマ] タブで表示および編集できます。

すべての高度な予測入力候補と同様に、候補として表示されるドキュメントには ACL が尊重されます。

ある社員が会社のイントラネット サイトにクエリを実行し、アクセス権に関する技術情報を探しています。

この社員が tec の入力を開始すると、Data technicians handbookAccess technology guideTechniques for troubleshooting access issues の各ドキュメントが返される場合があります。

リッチ サジェストでは、推奨ドキュメントごとに、ドキュメントに関する次の情報を表示できます。

  • ドキュメントのタイトル(title)、ドキュメントへのリンク(uri

  • 最終更新日(update_time

  • ソース(source_type)。たとえば、ドキュメントが Confluence Cloud または Slack のどちらで見つかったか。

ドキュメントの更新日時とドキュメントのソースを知ることで、この社員は最初に確認するドキュメントを選択できます。

制限事項

リッチ予測入力は、サードパーティ コネクタにのみ適用され、サードパーティ コネクタの特定のエンティティ データストアにのみ適用されます。次の表に、どのコネクタでどのエンティティがサポートされているかを示します。

サードパーティ コネクタ サポートされているエンティティ
Box ファイル
Confluence Cloud ページ スペース
Dropbox ファイル
Jira Cloud 問題 スペース
OneDrive ファイル
Salesforce アカウント リード 機会
ServiceNow インシデント 知識
SharePoint Online 添付ファイル イベント ファイル ページ
Slack メッセージ

手順

豊富な候補を返す予測入力リクエストを送信する手順は次のとおりです。

REST

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

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

      [アプリ] に移動

    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/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \
    -d '{
          "query":"QUERY_STRING",
          "suggestionTypes": ["CONTENT"]
        }'
    
    

    次のように置き換えます。

    • PROJECT_ID: 実際のプロジェクトの ID。

    • APP_ID: アプリの ID。

    • QUERY_STRING: 候補の取得に使用される先読み入力。

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

リクエストのクエリとプレフィックスが一致するユーザーの最新のクエリのリストを候補として返します。

一致するクエリ候補は、新しいものから古いものの順に表示されます。最近の検索を使用するには、ユーザーの疑似 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 コンソールで、[Gemini Enterprise] ページに移動します。

      [アプリ] に移動

    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/v1/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: 実際のプロジェクトの ID。

    • APP_ID: アプリの ID。

    • QUERY_STRING: 候補の取得に使用される先読み入力。

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

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

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

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

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

インポートした予測入力候補のリストを使用する

予測入力データモデルから生成された予測入力候補を使用する代わりに、独自の予測入力候補のリストを提供することもできます。

リストをインポートする方法については、インポートした予測入力候補のリストを使用するをご覧ください。