より信頼性の高いGenie spacesのためのナレッジストアを構築する
Genie ナレッジ ストアを使用すると、ローカライズされたメタデータ、値サンプリング、構造化された SQL 命令を通じてスペースをキュレーションおよび強化できます。これらの機能は、Genie がデータを理解し、より正確で関連性の高い応答を生成するのに役立ちます。
ナレッジストアとは
ナレッジストアは、Genie によるデータの理解を深め、応答の精度を向上させる、厳選されたセマンティック定義のコレクションです。
ナレッジストアは、次のもので構成されます。
- スペースレベルのメタデータのカスタマイズ : テーブル、列、ビジネス用語とシノニムのスペース固有の説明
- スペース レベルのデータのカスタマイズ : 基になる Unity Catalog テーブルを変更せずに、簡素化された焦点を絞ったデータセット
- 値サンプリング : Genie がデータ型を理解し、ユーザーのプロンプトを実際の値と照合するのに役立つ実際のデータ例
- 結合リレーションシップ : 正確な
JOIN
ステートメントのために定義されたテーブルリレーションシップ
すべてのナレッジ ストア構成は、 Genieスペースにスコープが設定され、 Unity Catalog メタデータやその他の Databricks 資産には影響しません。
ナレッジ ストアのメタデータを管理する
ローカル テーブルと列の説明を提供し、一般的なビジネス用語に沿った列の同義語を追加することで、スペース内のデータについて Genie に教えます。不要な列や重複する列を非表示にしてデータセットを簡素化し、Genie の焦点を絞り込みます。
これらのプラクティスにより、基になるテーブルに対する直接のアクセス許可を持たないユーザーの使いやすさが向上し、命令バージョンを更新する際のより迅速なイテレーションもサポートされます。
スペースレベルのメタデータにアクセスするには、Genieスペースで [>データの構成 ] をクリックします。次に、テーブル名をクリックして、そのメタデータと列を表示します。
列の表示
テーブル名をクリックすると、列名と詳細の概要が表示されます。次の例は、 accounts
という名前のテーブルのサンプルを示しています。
-
形容: Genie はメタデータを使用してデータを理解し、正確な応答を生成します。デフォルト表の説明には、データ資産に関連付けられた Unity Catalog メタデータが表示されます。 この説明を編集して、Genie がスペースの SQL を作成するのに役立つ特定の指示を追加できます。 [リセット] をクリックして、Unity Catalog の説明を復元します。
-
列: 列名と説明は、列リストに含まれます。各列には、 値例 と 値辞書 のどちらが含まれているかを示すタグが付けられます。値サンプリングの概要を参照してください。
関連する列を非表示または表示する
列は、個別に管理することも、一括で管理することもできます。列を非表示または表示するには、次の手順を使用します。
-
1つの列を非表示にする : 列名の横にある
をクリックします。
-
複数の列を非表示 にする:
- 非表示にする列のチェックボックスを選択します。
- [ アクション] メニューから [選択した列を非表示] を選択します。
-
変更を元に戻 す: 同じ手順を繰り返して、非表示にした列を表示します。
列メタデータの編集
列ごとに以下をカスタマイズできます。
- 説明 : Genie の理解を深めるスペース固有の列の説明。
- 同義語 : ユーザーの言語と列名を一致させるのに役立つビジネス用語とキーワード。
- 詳細設定 : 値サンプリングコントロール。
- 値の例 : 代表値の自動サンプリングをオンまたはオフにします。
- 値ディクショナリの作成 : カテゴリ列の値ディクショナリを有効または無効にします。
列のメタデータを編集するには:
- 列名の横にある鉛筆アイコン
をクリックします。
- 列の説明とシノニムを編集します。
- 必要に応じて、[ 詳細設定 ] をクリックして値サンプリング コントロールを開きます。
- [ 保存] をクリックして変更を保持し、ダイアログを閉じます。
値サンプリングの概要
値サンプリングは、代表的な例を収集することで、Genie が実際のデータを理解し、操作する能力を強化します。
値サンプリングは、実際のデータ値へのアクセスを提供することで、Genie の SQL 生成を改善します。ユーザーがスペルミスや異なる用語を含む会話型の質問をする場合、値サンプリングは、Genie がプロンプトをテーブル内の実際のデータ値と照合するのに役立ちます。
値サンプリングコンポーネント
- 値の例 : Genie がデータ型と書式を理解するのに役立つ各列の小さなサンプル。これらは、対象となるすべての列に対して自動的に収集されます。
- 値ディクショナリ : 列ごとに最大 1,024 個の個別の値 (それぞれ 127 文字未満) のキュレーションされたリスト。状態、製品カテゴリ、状態コードなどのカテゴリまたは一貫した書式設定の文字列値を含む最大 120 列に対して作成されます。
行フィルターまたは列マスクを持つテーブルは、値サンプリングから除外されます。
値サンプリングの管理
どの列がサンプル値と値ディクショナリを提供するかを制御して、Genie によるデータの理解を最適化します。値サンプリングは、すべての Genie spacesに対してデフォルトによって有効になります。
値の例を管理する
値例は、 Genieスペースにタブを追加すると自動的に追加されます。
列の値の例をオフにするには:
- Genieスペースで 設定 > データ をクリックします。
- テーブル名をクリックすると、その列が表示されます。
- 列名の横にある
編集アイコンをクリックします。
- [ 詳細設定] をクリックします。
- [値の例] をオフにします。
このアクションにより、その列の値ディクショナリの作成が自動的に無効になります。必要に応じて、この設定を使用して [値の例] をオンに戻します。
値辞書を構成する
Genie は、スペースにデータを追加するときに、値サンプリング用の列を自動的に選択します。値ディクショナリが有効になっている列を手動で管理できます。最良の結果を得るには、カテゴリ値または構造化された値を持つ文字列列を選択します。ユーザー ID、名前、ユーザー レビューなどのフリーテキスト列は避けてください。
次のリストには、値ディクショナリで適切に機能するデータのタイプの例が含まれています。
- 州または国コード
- 製品カテゴリ
- ステータス コード
- 学科名
値ディクショナリを有効にするには:
- 列名の横にある
編集アイコンをクリックします。
- [ 詳細設定] をクリックします。
- [値ディクショナリの作成] をオンにします。
サンプル値の更新
サンプル値を更新すると、データが再度ポーリングされ、新しい値 (例: 値や値ディクショナリ) が収集されます。
次の場合に、サンプル値を更新する必要があります。
- 列に新しい値が追加されました
- 既存の値の形式が変更されました
格納された値を更新するには:
- 列ビューで
ケバブメニューをクリックします
- サンプル値の更新を選択します
ナレッジストアの指示を編集する
テーブルの詳細ビューで、[> 手順の構成 ] をクリックして、ナレッジ ストアの手順を追加および編集します。
結合関係の定義
Genie がテーブル関係を定義することで、正確な JOIN
ステートメントを作成できるようにします。
-
[ 結合] をクリックします。
-
[ 追加 ] をクリックします。
-
ドロップダウンメニューから左右のテーブルを選択します。
-
結合条件 を入力します(例:
accounts.id = opportunity.accountid
)- (オプション)より複雑な結合条件の場合は、SQL 式を使用します。「 SQL 式を使用」 をクリックし、結合条件を SQL 式として記録します。
-
関係タイプ を選択します。
- 多対 1 : 複数の左行が 1 つの右行にマップされます
- 1 対多 : 左の 1 行が右の複数の行にマップされます
- 1 対 1 : 左の 1 行が最大で右の 1 行にマップされます
同じテーブル間に複数の結合が存在する場合、または自己結合が使用されている場合、Genie はあいまいさを避けるために右側のテーブルのエイリアスを自動的に生成します。
次のステップ
次のリンクを使用して、 Genieスペースの構築を継続してください。
- Genieスペースにコンテキストを追加して、正確な応答を生成するのに役立ちます。「SQL の例と手順を追加する」を参照してください。
- Genieスペースを最適化するためのベストプラクティスをご覧ください。「効果的なGenieスペースをキュレーションする」を参照してください。
- スペースのパフォーマンスを評価し、改善します。Genieスペースでベンチマークを使用するを参照してください