このページでは、Vertex AI Search の高度な予測入力機能について説明します。
基本的な予測入力と同様に、高度な予測入力は、クエリに入力された最初の数文字に基づいてクエリの候補を生成します。
このページを読む前に、Vertex AI Search の基本的な予測入力について理解しておいてください。予測入力を構成するをご覧ください。
高度な予測入力の主な機能
高度な予測入力の主な機能は、基本的な予測入力と区別されます。
統合検索: 高度な予測入力は、統合検索アプリで使用できます。統合検索アプリとは、複数のデータストアに接続されている一般的な検索アプリです。
アクセス制御: 高度な予測入力はアクセス制御を尊重します。(アクセス制御は ACL(アクセス制御リスト)とも呼ばれます)。高度な予測入力は、検索者がアクセスできるドキュメントに関連する検索のみを提示します。アクセス制御の詳細については、データソースのアクセス制御を使用するをご覧ください。
言語ブースト: 1 つ以上の言語の候補をブーストするように、高度な予測入力を設定できます。たとえば、ブラウザの言語がオランダ語の場合、その言語の予測入力候補をブーストさせることができます。詳細については、言語ブーストを使用して予測入力リクエストを送信するをご覧ください。
さまざまな種類の候補: 高度な予測入力では、通常の予測入力クエリの候補ではなく、次のような種類の候補を指定できます。
豊富な候補: 入力した文字列の接頭辞と一致するタイトルのドキュメントに関する情報が、予測入力の候補として表示されます。詳細については、予測入力リクエストを送信して豊富な候補を返すをご覧ください。
最近のクエリ: 入力した文字列の接頭辞と一致する最近のクエリが、予測入力の候補として表示されます。詳細については、予測入力リクエストを送信して最近のクエリを返すをご覧ください。
始める前に
アプリの自動入力設定を確認して、必要に応じて編集します。自動入力設定を更新するをご覧ください。
特にテスト中は、小規模なデータストアの場合は [自動入力を有効にする] を [今すぐ] に設定することをおすすめします。これは、小さなデータストアに、正確な候補を提供するのに十分なデータが含まれていない可能性があるためです。
予測入力リクエストを送信する
次の例は、completionConfig.completeQuery
メソッドを使用して高度な予測入力リクエストを送信する方法を示しています。
REST
API を使用して予測入力リクエストを送信する手順は次のとおりです。
アプリ ID を確認します。アプリ ID がすでにある場合は、次のステップに進みます。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[アプリ] ページでアプリの名前を見つけ、[ID] 列からアプリの ID を取得します。
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 文字の言語タグを使用します(例: en
、fr
、hi
、zh
)。
REST
言語ブースト値を含む予測入力リクエストを送信する手順は次のとおりです。
アプリ ID を確認します。アプリ ID がすでにある場合は、次のステップに進みます。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[アプリ] ページでアプリの名前を見つけ、[ID] 列からアプリの ID を取得します。
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 の浮動小数点数。値が負の場合、その言語の予測入力候補は降格されます(候補リストの下位に表示されます)。値が正の場合、結果は昇格されます(リストの上位に表示されます)。
予測入力リクエストを送信して豊富な候補を返す
リッチ予測入力では、タイトルにクエリで始まる単語が含まれているコンテンツ(ドキュメント)が返されます。
予測入力リクエストは、ドキュメントのタイトルに加えて、source_type
と entity_type
を返します。また、利用可能な場合は、キー プロパティ(uri
、create_time
、update_time
)も返します。キー プロパティのマッピングは、データストア ページの [スキーマ] タブで表示および編集できます。
すべての高度な予測入力候補と同様に、候補として表示されるドキュメントには ACL が尊重されます。
例
ある社員が会社のイントラネット サイトにクエリを実行し、アクセス権に関する技術情報を探しています。
この社員が tec
の入力を開始すると、Data technicians handbook
、Access technology guide
、Techniques 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
アプリ ID を確認します。アプリ ID がすでにある場合は、次のステップに進みます。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[アプリ] ページでアプリの名前を見つけ、[ID] 列からアプリの ID を取得します。
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": ["CONTENT"] }'
PROJECT_ID
: Google Cloud プロジェクトの ID。APP_ID
: Vertex AI Search アプリの ID。QUERY_STRING
: 候補の取得に使用されるタイプアヘッド入力。
予測入力リクエストを送信して最近のクエリを返す
リクエストのクエリの接頭辞に一致するユーザーの最新のクエリのリストを候補として返します。
一致するクエリ候補は、最新のものから古いものの順に表示されます。最近の検索を使用するには、ユーザーの疑似 ID を指定する必要があります。
例
ある社員が会社のイントラネット サイトにクエリを実行して、有給休暇に関する情報を取得しています。社員は、最新から古い順に次のクエリを実行しています。
PTO
、Vacation blackout periods
、How much vacation time do I have?
、Time
off
、Vacation policy
、covering a vacant position during absences
、Can 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
アプリ ID を確認します。アプリ ID がすでにある場合は、次のステップに進みます。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[アプリ] ページでアプリの名前を見つけ、[ID] 列からアプリの ID を取得します。
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)は含めないでください。
予測入力の拒否リストを使用する
拒否リストを使用して、特定の用語が予測入力の候補として表示されないようにします。
高度な予測入力はアプリレベルですが、拒否リストはデータストアレベルです。これは、アプリが統合検索アプリである場合に重要です。アプリに接続されている各データストアの拒否リストを作成します。
拒否リストの作成と使用については、予測入力の拒否リストを使用するをご覧ください。