このページでは、Vertex AI Search アプリとデータストアについて説明します。
Vertex AI Search では、検索アプリまたはレコメンデーション アプリを作成し、データストアに接続します。1 つの Google Cloud プロジェクトに複数のアプリを含めることができます。
アプリとデータストアの関係
アプリとデータストアの関係は、アプリのタイプによって異なります。
カスタム検索アプリは、データストアと多対多の関係にあります。複数のデータストアが 1 つのカスタム検索アプリに接続されている場合、これを統合検索と呼びます。検索アプリを複数のデータストアに接続する場合の制限事項については、統合検索についてをご覧ください。
カスタム レコメンデーション アプリは、データストアと 1 対 1 の接続にあります。
メディアアプリは、データストアと多対 1 の関係にあります。アプリは 1 つのデータストアにしか接続できませんが、1 つのデータストアを複数のアプリに接続することが可能です。たとえば、メディア検索アプリとメディア レコメンデーション アプリで 1 つのデータストアを共有できます。
ヘルスケア検索アプリは、データストアと多対 1 の関係にあります。アプリは 1 つのデータストアにしか接続できませんが、1 つのデータストアを複数のアプリに接続することが可能です。たとえば、患者向けアプリと医療機関向けアプリから同じデータストアに接続できます。
医療データのバッチデータ インポートの場合、データはアプリ内のデータストアにインポートされます。医療データのストリーミング データ インポート(プレビュー)の場合、データはデータコネクタ内のデータストアの一種であるエンティティにインポートされます。データコネクタは、アプリ内にあるデータストアの一種でもあります。
データストアをアプリに接続した後に切断することはできません。
アプリの作成とデータ取り込みの方法
アプリを作成してデータを取り込む方法は、データの種類によって異なります。
ウェブサイトのデータには、 Google Cloud コンソールまたは API を使用できます。API で作成したウェブサイトのデータを使用するには、 Google Cloud コンソールで Enterprise 機能が有効になっているアプリに接続する必要があります。
構造化データまたは非構造化データの場合は、Google Cloud コンソールまたは API を使用できます。
医療データの場合は、 Google Cloud コンソールまたは API を使用できます。
ドキュメント
各データストアには、ドキュメントと呼ばれる 1 つ以上のデータレコードがあります。ドキュメントが表す内容は、データストア内のデータの種類によって次のように異なります。
Websiteドキュメントはウェブページです。
構造化データドキュメントは、特定のスキーマに従うテーブルの行または JSON レコードです。このスキーマは自分で指定することも、取り込んだデータから AI アプリケーションにスキーマを取得させることもできます。
メディアの構造化データ。ドキュメントは、メディアに固有のスキーマに従うテーブルの行または JSON レコードです。ドキュメントは、動画、ニュース記事、音楽ファイル、ポッドキャストなどのメディア コンテンツに関するレコードです。ドキュメントには、少なくともタイトル、コンテンツの場所の URI、カテゴリ、再生時間、利用可能な日付など、メディア アイテムを説明する情報が含まれます。
非構造化データドキュメントは、HTML 形式、TXT 形式、またはテキストが埋め込まれた PDF 形式のファイルです。プレビューでは、PPTX および DOCX 形式を使用できます。
医療 FHIR データ。ドキュメントは、サポートされている FHIR R4 リソースです。Vertex AI Search でサポートされている FHIR R4 リソースのリストについては、Healthcare FHIR R4 データスキーマ リファレンスをご覧ください。
データストアとアプリ
AI アプリケーションには、さまざまな種類のデータストアがあります。データストアには 1 種類のデータのみを含めることができます。
ウェブサイトのデータ
ウェブサイトのデータを含むデータストアは、公開ウェブサイトからインデックス登録されたデータを使用します。データストアに含める URL パターンのセットを指定できます。URL パターンに一致するウェブページは、含まれるウェブページと呼ばれます。その後、含まれているウェブページからクロールされたデータに対する検索を設定できます。
たとえば、example.com/faq/*
や example.com/events/*
などの URL パターンを指定して、パターンに一致するウェブページからクロールされたデータを検索できるようにします。このデータには、テキスト、メタデータでタグ付けされた画像、meta
タグ、PageMap 属性、schema.org データなどの構造化データが含まれます。
除外するウェブサイトの部分の URL パターン(example.com/events/members-only/*
や example.com/events/past-*
など)を指定することもできます。除外した URL は、含めた URL よりも優先されます。
ウェブサイトのデータストアには次の 2 種類があります。
基本的なウェブサイト検索:
- 含まれているウェブサイトの既存の Google 検索インデックスに対する検索機能を提供します。
- ドメインの所有権の証明は必要ありません。
ウェブサイトの高度なインデックス登録
- 次のいずれかに基づいて生成されたインデックスに対する高度な検索機能を提供します。
- Vertex AI Search アプリのオーナーは、サイトマップを送信して維持することで、インデックス登録されるウェブページを制御できます。詳しくは、サイトマップを使用してウェブページをインデックス登録、更新するをご覧ください。このプロセスにより、手動で操作しなくてもインデックスが最新の状態に保たれます。
- Vertex AI Search アプリのオーナーは、Google 検索インデックスを反映する初期インデックス登録を実行し、必要に応じてウェブサイトを再クロールしてインデックスの範囲を拡大し、最新の状態に保つことができます。詳しくは、ウェブページを更新するをご覧ください。ウェブサイトの高度なインデックス登録の高度な機能については、ウェブサイトの高度なインデックス登録をご覧ください。
- Vertex AI Search データストアの所有者は、含まれているウェブサイトが属するドメインを確認する必要があります。詳しくは、ウェブサイトのドメインを確認するをご覧ください。
- データストア スキーマに構造化データを追加する機能を提供します。ウェブサイトには非構造化データが含まれていますが、
meta
タグ、PageMap 属性、schema.org データの形式で構造化データをウェブページに追加できます。この構造化データを使用して、ウェブサイトの高度なインデックス登録に構造化データを使用するで説明されているように、データストア スキーマを編集できます。
- 次のいずれかに基づいて生成されたインデックスに対する高度な検索機能を提供します。
次のステップ
ウェブサイト検索の場合:
- インデックス登録の前提条件については、ウェブサイト検索用のデータを準備する方法をご覧ください。
- ウェブサイトのコンテンツを使用してデータストアを作成する。
- 検索アプリを作成します。
構造化データ
構造化データを含むデータストアでは、構造化データに対するセマンティック検索やレコメンデーションを利用できます。BigQuery または Cloud Storage からデータをインポートできます。API を使用して構造化 JSON データを手動でアップロードすることもできます。
たとえば、e コマース エクスペリエンスの場合の商品カタログ、プロバイダの検索やレコメンデーションの場合の医師のディレクトリに対して、検索やレコメンデーションを実行できます。
AI アプリケーションは、インポートしたデータからスキーマを自動的に検出します。必要に応じて、データのスキーマを指定できます。通常、データのスキーマを指定すると、結果の品質が向上します。
次のステップ
カスタム検索の場合:
- 取り込み用に構造化データを準備する。
- 次のいずれかの方法で検索データストアを作成します。
- 検索アプリを作成します。
カスタム レコメンデーションの場合:
メディアの構造化データ
メディアアプリはメディア データストアにのみ接続できます。メディア データストアは、Google が定義したスキーマまたは独自のカスタム スキーマを含む構造化データストアです。このスキーマには、メディア関連の 5 つのフィールドの特定のセットが含まれています。スキーマの詳細については、メディア ドキュメントとデータストアについてをご覧ください。
たとえば、映画カタログやニュースサイト用のメディア レコメンデーション アプリを作成してレコメンデーションを有効にすると、ユーザーに適切なパーソナライズされた提案が表示されるようになります。
メディア ドキュメントに加えて、メディア データストアには、Vertex AI Search がユーザー向けにレコメンデーションと検索をカスタマイズするために使用するユーザー イベント情報も含まれています。メディアアプリではユーザー イベントが必要です。ユーザー イベントについては、リアルタイムのユーザー イベントを記録するをご覧ください。
次のステップ
- メディア データストアを作成します。
- メディアアプリを作成する。
非構造化データ
非構造化データストアを使用すると、ドキュメントや画像などのデータに対してセマンティック検索を実行できます。
非構造化データストアは、HTML、テキストが埋め込まれた PDF、TXT 形式のドキュメントをサポートしています。プレビューでは、PPTX および DOCX 形式を使用できます。
検索では、10 個の URL と自然言語クエリの要約された回答が検索結果として提供されます。ドキュメントは、適切なアクセス権限を持つ Cloud Storage バケットにアップロードする必要があります。たとえば、金融機関は、金融調査の出版物の非公開コーパスに対する検索を有効にできます。また、バイオテクノロジー企業は、医療研究の非公開リポジトリに対する検索やレコメンデーションを有効にできます。
次のステップ
検索の場合:
- 取り込み用に非構造化データを準備する。
- 次のいずれかの方法で検索データストアを作成します。
- 非構造化データの検索データストアを作成します。
- 検索アプリを作成します。
医療 FHIR データ
医療検索アプリは、Cloud Healthcare API FHIR ストアからインポートされた FHIR R4 データを使用します。Vertex AI Search でサポートされている FHIR R4 リソースのリストについては、Healthcare FHIR R4 データスキーマ リファレンスをご覧ください。FHIR R4 データストアを Vertex AI Search データストアのデータソースとして使用するには、いくつかの要件を満たす必要があります。詳細については、取り込み用に Healthcare FHIR データを準備する方法をご覧ください。
次のステップ
統合検索について
複数のデータストアを 1 つのカスタム検索アプリに接続できる統合検索アプリを作成できます。この機能を使用すると、1 つのアプリを使用して複数のソースとタイプのデータを検索できます。
ブレンド検索アプリを作成するには、新しいカスタム検索アプリを作成するときに複数のデータストアを選択します。作成時に複数のデータストアを選択しないと、後でデータストアを追加することはできません。
検索結果を取得する際に、すべてのデータストアを検索するか、単一のデータストアの結果をフィルタできます。
次の制限が適用されます。
- データストアの追加と削除:
- アプリのブレンド検索を有効にするには、アプリの作成時に少なくとも 2 つのデータストアをアプリに接続する必要があります。
- ブレンド検索アプリにデータストアを追加したり、データストアを削除したりできますが、アプリに接続されているデータストアの数が 2 つ未満になることはありません。
- アプリの作成時に 1 つのデータストアを検索アプリに接続した場合、そのデータストアを追加または削除することはできません。
- 統合検索に使用するには、ウェブサイト データストアでウェブサイトの高度なインデックス登録を有効にする必要があります。詳しくは、ウェブサイトの高度なインデックス登録をご覧ください。
- BigQuery を使用してインポートされた非構造化データを含むデータストアはサポートされていません。
- 統合検索では、検索リクエストで次のフィールドを使用できます。
boostSpec
contentSearchSpec
dataStoreSpecs
facetSpecs
filter
languageCode
offset
oneBoxPageSize
orderBy
query
pageSize
pageToken
relevanceScoreSpec
relevanceThreshold
session
sessionSpec
spellCorrectionSpec
userInfo
userPseudoId
- ブレンド検索では、
dataStoreSpecs
で次のフィールドを使用できます。dataStore
boostSpec
:SearchRequest
とdataStoreSpecs
の両方にブースト仕様が指定されている場合、両方のブースト仕様が検索結果に適用されます。filter
:SearchRequest
とdataStoreSpecs
の両方にフィルタが指定されている場合、両方のフィルタが検索結果に適用されます。
- ブレンド アプリでは、サービス構成に対する作成、読み取り、更新、削除(CRUD)オペレーションがサポートされています。サービング構成で追加または更新できるのは、次のフィールドのみです。
boostControlIds
displayName
filterControlIds
genericConfig
:contentSearchSpec
name
solutionType
synonymsControlIds
- ブレンド検索アプリでは、次のコントロールに対する CRUD オペレーションがサポートされています。
boostAction
synonymAction
filterAction
- 検索アプリあたりのデータストア数の上限は 50 個です。
- 1 つのデータストアで CMEK 構成を使用する場合、他のすべてのデータストアでも同じ CMEK 構成を使用する必要があります。