検索インデックス設定を作成する
学習の目的
この単元を完了すると、次のことができるようになります。
- Data Cloud で検索インデックス設定とグラウンディングがどのように機能するかを説明する。
- ベクトル検索インデックス設定を作成する。
検索インデックス設定を使用して非構造化データで検索をグラウンディングする
非構造化データと構造化データで検索をグラウンディングすると、Salesforce Platform 全体で生成 AI、分析、自動化ツールの利用を強化できます。検索をグラウンディングすることで、Agentforce、Tableau、Flow Builder などのアプリケーションでお客様固有のデータを利用できるため、ユーザーのインテントやコンテキストに合わせて調整された出力を得られます。このような調整は、チームとお客様に、より正確で関連性の高い AI 生成コンテンツ、分析によるより深いインサイト、より効率的な自動化ワークフローをもたらします。
検索をグラウンディングするには、非構造化データを意味的に適切なチャンクに分解し、そのチャンクからベクトルエンベディング (チャンク化されたデータの数値表現) を作成する必要があります。チャンク化されたコンテンツは Data Cloud 検索インデックスに保存され、Einstein 生成 AI アプリケーション (プロンプトビルダーと Agentforce)、自動化アプリケーション (Flow Builder)、分析アプリケーション (Tableau) で検索または使用できます。
非構造化データをチャンク化する
前の単元では、Data Cloud が非構造化データモデルオブジェクト (UDMO) を通じて非構造化データを参照するしくみを説明しました。UDMO やテキスト項目を含む DMO (Salesforce Knowledge 記事など) をチャンク化することもできます。この単元ではそれを行います。
UDMO や DMO をチャンク化するとは、管理可能で意味を持つチャンクに分解することです。このようなテキスト単位は Data Cloud のチャンクデータモデルオブジェクト (CDMO) に保存されます。CDMO はデータモデルオブジェクトまたは非構造化データモデルオブジェクトから作成されます。
チャンク化のしくみを理解する
Data Cloud はいくつかのチャンク化戦略をサポートしています。
意味ベースのパッセージ抽出では、HTML タグが本質的に持つ意味を使用して、ドキュメントをパッセージにチャンク化します。見出し (<h1>、<h2>)、リスト (<ul>、<ol>)、サブ見出しとして使用される太字 (<strong>) などの HTML 要素はパッセージの論理的な境界とみなされます。
ウィンドウベースのパッセージ抽出戦略では、<div> タグや <p> タグなどのブロックレベル要素、または改行で区切られた未加工のテキストを使用してドキュメントをパッセージにチャンク化します。パラグラフに HTML が含まれていない場合、抽出は行レベルで行われます。
チャンク化戦略についての詳細は Salesforce ヘルプを参照してください。
では、データがチャンク化された後にどうなるかを見てみましょう。
チャンク化されたコンテンツからベクトルエンベディングを作成する
Data Cloud によってコンテンツがチャンク化された後に、ベクトルエンベディングが作成されます。これはチャンク化されたコンテンツの数値表現で、Salesforce の生成 AI、自動化、分析アプリケーションで取得または使用できます。
ベクトルエンベディングはテキストの数値表現であり、単語やフレーズ間のリレーションが保存されています。エンベディングによってコンテンツの意味が捉えられるため、似た意味のコンテンツのチャンクのベクトルエンベディングは類似します。この表現は、機械が言語を効果的に処理して意味を把握するために役立ちます。
Data Cloud ではベクトルエンベディングはインデックスデータモデルオブジェクト (IDMO) によって参照されます。これについてはこの単元で後ほど詳しく学習します。
ベクトル検索インデックス設定を作成する
非構造化データを検索に使用できるようにするには、チャンク化してベクトル化する必要があります。そのために検索インデックス設定を作成します。検索インデックス設定は、ユーザーが関連する結果を見つけるために検索する情報概念、説明、詳細な記述が含まれるテキスト項目を持つ任意のデータオブジェクトに対して作成します。そのようなデータの例として Salesforce Knowledge 記事や、Amazon S3 などの外部 Blob ストアに保存されたその他のテキストドキュメント (チャットのトランスクリプトなど) が挙げられます。
ナレッジ記事からベクトル検索インデックス設定を作成する
前の単元では、Salesforce CRM コネクタでいくつかのサンプルナレッジ記事が含まれる [Knowledge (ナレッジ)] バンドルからデータストリームとデータレイクオブジェクトを作成しました。
ナレッジ記事バージョンオブジェクトはインデックス付けに役立ちます。このオブジェクトを使用すれば、すべての種類の記事をバージョンに応じてクエリ、取得、または検索できるためです。ナレッジ記事バージョンオブジェクトには、検索用にインデックス付けする必要がある次の項目が含まれています。
-
Name (名前): ナレッジ記事の名前またはタイトル
-
Description (説明): [Summary (サマリー)] から対応付けられたナレッジ記事の説明またはサマリー
-
カスタムテキスト項目: 非構造化データを保持する任意のリッチテキスト項目 (上限 131K)
ナレッジ記事バージョン DMO からベクトル検索インデックス設定を作成する
この単元の最後にある Challenge に合格するには、Data Cloud 組織で次のステップを実行します。
- Data Cloud Playground をまだ起動していない場合は起動します。
- アプリケーションランチャーで [Data Cloud] を選択します。
-
[Search Index (検索インデックス)] | [New (新規)] をクリックします。
Data Cloud のナビゲーションに [Search Index (検索インデックス)] が表示されない場合は、[More (さらに表示)] ドロップダウンメニューをクリックしてから [Search Index (検索インデックス)] を選択します。
-
[Advanced Setup (高度な設定)] | [Next (次へ)] をクリックします。
- [Select Source Object (ソースオブジェクトを選択)] ページで、[Vector Search (ベクトル検索)]、[Knowledge Article Version (ナレッジ記事バージョン)] DMO を選択し、[Next (次へ)] をクリックします。
- [Select Fields to Chunk (チャンク化する項目を選択)] ページで、[Manage Fields (項目を管理)] をクリックします。
-
[Select All Fields (すべての項目を選択)] をクリックし、[Save (保存)] をクリックします。
- デフォルトのチャンク戦略のままにして、[Next (次へ)] をクリックします。
- [Select a Vectorization Strategy (ベクトル化戦略を選択)] ページで、デフォルトのベクトル化戦略のままにして [Next (次へ)] をクリックします。
- [Select Related Fields for Search Filtering (検索条件の関連項目を選択)] ページで、項目を追加せず、[Next (次へ)] をクリックします。
- [Search Index Configuration Details (検索インデックス設定の詳細)] ページで、自動生成された [Search Index Configuration Name (検索インデックス設定名)] を
My_kav
に置き換えます。([Search Index Configuration API Name (検索インデックス設定 API 参照名)] は自動的に入力されます。)
-
[Save (保存)] をクリックします。
これで終わりです。新しい [My_kav] 検索インデックス設定が [Search Index (検索インデックス)] タブに表示されます。
ナレッジ記事バージョン CDMO と IDMO を表示する
検索インデックス設定を作成すると、状況が [Submitted (登録済み)] に変更され、その後、ソース DMO/UDMO からのデータの処理中には [In-progress (処理中)] に変更されます。失敗がなければ、状況は [Submitted (登録済み)] から [In-progress (処理中)] を経て [Ready (準備完了)] へと変更されます。検索インデックスの状況が [Ready (準備完了)] になるまで [Data Explorer (データエクスプローラー)] にはレコードが表示されません。
ナレッジ記事内の最も有用なコンテンツは [Description (説明)] 項目にあります。通常、サンプル記事は小さいため、チャンクは 1 つだけです。つまり、ナレッジ記事バージョン CDMO と IDMO の各レコードに対して、それぞれ 1 つのチャンクと 1 つのベクトルがあるということですが、コンテンツが長くなれば、各 DMO に複数のレコードがある場合もあります。
ナレッジ記事バージョン DMO に作成した CDMO と IDMO を見てみましょう。
- 検索インデックスの状況が [Ready (準備完了)] であることを確認します。
- Data Cloud から、[Data Explorer (データエクスプローラー)] をクリックします。
- [Object (オブジェクト)] ドロップダウンメニューから [Data Model Object (データモデルオブジェクト)] を選択します。
- [Select an Object (オブジェクトを選択)] 項目から [My_kav chunk] を選択します。
Data Cloud でサンプルナレッジ記事から作成されたすべてのチャンクのリストが表示されます。
- [Select an Object (オブジェクトを選択)] 項目から [My_kav index] を選択します。
今度は、Data Cloud でサンプルナレッジ記事から作成されたすべてのベクトルレコードのリストが表示されます。
検索インデックスに含まれる CDMO と IDMO は Salesforce 全体で、Flow Builder、Agentforce、プロンプトビルダー、Tableau などのアプリケーションで使用できます。ベクトル検索クエリの実行についての詳細はベクトル検索のドキュメントを参照してください。
非構造化データを Data Cloud に接続すると、お客様中心のさまざまなユースケースのための豊富なデータで検索結果をグラウンディングできます。そのデータをチャンク化してベクトル化することで、Einstein 生成 AI アプリケーション、Flow Builder、さらには Tableau でベクトル検索を使用して、AI、分析、自動化の機能を強化できます。