チューンGenieスペース品質
このページでは、Genie Spaceの精度と信頼性を向上させるために、SQLの例、手順、およびナレッジストア構成を追加する方法について説明します。
SQLの例と手順を追加する
正確な応答を生成するために、サンプルSQLクエリ、 Unity Catalog関数、プレーンテキストの指示を追加できます。 [構成] > [手順] をクリックします。クエリとUnity Catalog関数を管理するには、 SQLクエリ タブを使用します。 プレーンテキストの指示を追加するには、 テキスト タブを使用します。
各Genieスペースには、2つの異なる制限があります。
- 指示(1スペースあたり100) :各SQLクエリの例、各SQL関数、および 一般指示 テキストブロック全体は、それぞれ1つの指示としてカウントされます。
- ナレッジストアのスニペット(1スペースあたり200) :テーブルの説明、結合関係、SQL式(メジャー、フィルター、ディメンション)はこの制限を共有します。「ビュー列」 、 「結合関係の定義」 、 「SQL式の定義」を参照してください。
Genie Spaceは、明確かつ的確なガイダンスに基づき、一貫性があり予測可能な対応を提供することを目指しています。Genieは非決定論的な方法で動作するため、望ましくない反応のリスクを最小限に抑えるために、ガイダンスに矛盾した情報や曖昧な情報を含めないことが重要です。スペースを設営する際、重要なタスクは、矛盾点を確認し、解決することです。 これは信頼性の高い結果を得るのに役立ちます。
SQLクエリと関数の例を追加する
SQLクエリタブ を使用して、以下を追加します。
-
クエリ例(推奨): SQLクエリ例は、Genieが一般的なユーザーの質問に答えるための適切なSQLを生成するのに役立ちます。クエリは静的クエリとパラメータ化クエリのどちらでも構いません。各SQLクエリ例について、SQL文を提示し、ユーザーの質問で最もよく使われる表現をタイトルとして使用してください。これにより、Genieがプロンプトと例をより正確に照合する能力が向上します。Genieは、サンプルクエリをそのまま使用することも、そこから学習して同様の質問を処理することもできます。パラメータ化されたクエリが使用される場合、応答は 「信頼できる」 とマークされます。当該スペースでCAN EDIT権限を持つユーザーは、応答を生成するために使用されたクエリを表示することができ、これはトラブルシューティングや改善に役立ちます。
-
SQL関数: 静的またはパラメータ化されたSQLクエリで回答できない質問については、 Unity Catalogにカスタム関数を登録できます。 機能はチーム間で共有でき、Genieが特定の質問に答えるために利用できます。SQL関数を使用して回答された応答は 「信頼できる」 とマークされます。Genie Space で SQL 関数を使用する方法の詳細については、 「信頼できるアセット」を参照してください。
Genie がサンプルクエリをどのように使用するか
クエリ例は、Genieが利用可能なデータを使用して質問に答える方法を示しています。テキストフィールドにサンプル質問を入力し、次にその質問に答えるSQLクエリを入力してください。ユーザーが自然に尋ねるであろう形式で、サンプル質問を記述してください。Genieは、一致する質問を受け取ると、その質問例を直接使用して回答を提供できます。Genieは、同様の質問を受け取ると、サンプルクエリからヒントを得て、応答で提供されるSQLを学習し、構造化します。次の例のように、組織やデータに固有のロジックを強調するサンプルを提供することに重点を置いてください。
-- Return our current total open pipeline by region.
-- Opportunities are only considered pipelines if they are tagged as such.
SELECT
a.region__c AS `Region`,
sum(o.amount) AS `Open Pipeline`
FROM
sales.crm.opportunity o
JOIN sales.crm.accounts a ON o.accountid = a.id
WHERE
o.forecastcategory = 'Pipeline' AND
o.stagename NOT ILIKE '%closed%'
GROUP BY ALL;
クエリを追加します
パラメータ化されたサンプルクエリを使用すると、スペースユーザーはクエリに挿入される値を指定できます。 。 を使用すると、 Genieユーザーの質問から特定の入力を受け取り、サンプルクエリの構造を再利用して、 信頼できる とラベル付けされた検証済みの回答を提供できます。
クエリにパラメーターを追加するには:
-
論点を挿入したい場所にカーソルを置きます。
-
「追加」 をクリックします。
これにより、安全名
parameterの新しい問題が作成されます。 名前を変更するには、クエリ エディターで置き換えてください。エディターでコロンに続けて問題名 (:parameter_name) を直接入力して、問題を追加することもできます。
問題を編集するには、問題名の横にあります。 「問題の詳細」 ダイアログには次のオプションが含まれています。
- キーワード : クエリ内の課題を表すキーワード。 クエリテキストを直接編集することによってのみ変更できます。
- データ型 :サポートされている型には、 文字列 、 日付 、 日付と時刻 、 小数 、 整数 が含まれます。デフォルトは 文字列 です。
- コメント : 問題の可能な値または制限の説明。 これを使用して、Genieが正しい値を選択するのに役立つコンテキストを提供します。
入力値が選択された型と一致しない場合、Genie はそれを不正な型として扱い、不正確な結果につながる可能性があります。
パラメータ化されたクエリの正確なテキストがレスポンスで使用される場合、レスポンスには 「信頼できる」 というラベルが付けられます。信頼できる資産を参照してください。
信頼できる資産
信頼できるアセットとは、ユーザーから寄せられると予想される質問に対して、検証済みの回答を提供するSQLクエリやSQL関数の例です。Genieが信頼できるアセットを使用して質問に答える場合、その回答には 「信頼できる」 というラベルが付けられ、Genieスペースの利用者は結果の正確性についてより一層の信頼感を得ることができます。
信頼できる資産には以下が含まれます。
- パラメータ化された例の SQL クエリ : パラメータ化されたクエリの正確なテキストを使用して応答を生成すると、応答には Trusted という ラベルが付けられます。スペース ユーザーは、問題値を編集してクエリを再実行できます。 「クエリの追加」を参照してください。
- SQL関数 : Unity Catalogに登録されているSQL関数は、 Genieスペースに追加できます。 SQL関数を使用して生成された応答には 「信頼できる」という ラベルが付けられます。GenieはSQL関数をどのように使用するのか?を参照してください。
Genie Space上で少なくともCAN EDIT権限を持つユーザーは、信頼できるアセットを追加または削除できます。 スペースユーザーは、信頼できる資産として使用されるすべてのSQL関数に対してEXECUTE権限を持っている必要があります。
使用方法に関するガイダンスを提供する
Genieに補足情報を提供することで、例となるクエリが特に適切な場合を説明できます。

使用方法に関するガイダンスを追加するには:
- サンプルクエリの一覧にアクセスするには、 「設定」 > 「手順」 > 「SQLクエリ」 をクリックしてください。
- サンプルクエリをクリックしてください。
- 画面下部付近にある 「使用方法」 をクリックしてください。
- このサンプルクエリの使用方法と使用時期に関する詳細を入力してください。
GenieはSQL関数をどのように利用するのですか?
SQL 関数は、静的クエリやパラメータ化されたクエリではキャプチャできない複雑なロジックが質問に含まれている場合に便利です。これらは Unity Catalog に格納され、ユーザーが指定したパラメーターを使用して Genie 呼び出すことができます。 Genie は、関数で使用される SQL を表示または変更できないため、このアプローチは、表示または変更すべきでないロジックに適しています。Unity Catalog に関数を登録する方法については、SQL テーブル関数を作成する および Unity Catalog でのユーザー定義関数 (UDF)を参照してください。
指示を提供する
「テキスト」 タブをクリックして、Genieがあなたのビジネスに関する具体的な質問にどのように回答すればよいかを理解できるように、プレーンテキストで指示を入力してください。手順は、包括的な単一のメモとして記述することも、整理しやすいようにトピックごとに分類することもできます。
指示は、Genieが特定の分野特有の専門用語、論理、概念を処理できるように、Genieの応答を導くのに役立ちます。一般的なテキストによる説明は、すべてのプロンプトに適用されます。指示がプロンプトのごく一部にのみ関連する場合は、例となるクエリまたは関数として含めるか、関連する表にコメントまたはメタデータとして記載する必要があります。テキストによる説明は、グローバルに適用されるべき文脈を示す もので あり、他の形式には当てはまりません。
以下の例には、一般的な説明書に含めることができる情報が含まれています。
- **Company-specific business information**:
- Fiscal year starts in February, for example fiscal year 26 or FY26 is February 1, 2026 through January 31, 2027
- **Formatting**:
- Always respond in Spanish
- If no other specification exists, round all decimals to two places
- Omit commas in results for any column including "Id" or "id" or "\_id"
知識ストアを構築する
Genieのナレッジストアでは、ローカライズされたメタデータ、プロンプトのマッチング、構造化されたSQL命令を通じて、スペースをキュレーションおよび強化できます。これらの機能は、Genieがお客様のデータを理解し、より正確で関連性の高い回答を生成するのに役立ちます。
知識ストアとは何ですか?
ナレッジストアとは、厳選された意味定義の集合体であり、Genieがデータを理解する能力を高め、応答の精度を向上させます。
知識ストアは以下で構成されます。
- スペースレベルのメタデータカスタマイズ :テーブル、列、ビジネス用語および同義語に関するスペース固有の説明。
- スペースレベルのデータのカスタマイズ : 基盤となるUnity Catalogテーブルを変更せずに、簡素化され焦点を絞ったデータセット。
- プロンプトのマッチング :Genieがユーザーの質問に最も関連性の高い値をマッチングし、ユーザーのプロンプトのスペルミスを修正するのに役立つ例。これには、フォーマット支援とエンティティマッチングが含まれます。
- 結合関係 : 正確な
JOINステートメントのためのテーブル関係を定義します。 - SQL式 :ビジネスロジックを捉える、メジャー、フィルター、ディメンションの構造化された定義。
各Genie Spaceは、最大200個の知識ストアスニペットをサポートします。テーブルの説明、結合関係、およびSQL式(メジャー、フィルター、ディメンション)もこの制限に含まれます。テキストによる指示、SQLクエリの例、SQL関数、列の説明、およびプロンプトの一致設定は、この制限には含まれません。
ナレッジストアの設定はすべてGenie Spaceの範囲内で行われ、 Unity Catalogメタデータやその他のDatabricksアセットには影響しません。
知識ストアのメタデータを管理する
ローカルなテーブルと列の説明を提供し、一般的なビジネス用語に合わせた列の同義語を追加することで、Genieにあなたのスペース内のデータについて理解させましょう。Genieがデータに集中できるように、不要な列や重複する列を非表示にしてデータセットを簡素化します。
これらの手法は、基となるテーブルへの直接的な権限を持たないユーザーの使いやすさを向上させるとともに、指示書のバージョンを更新する際の反復作業を迅速化します。
スペースレベルのメタデータにアクセスするには、Genie Spaceで 「設定」>「データ」 をクリックします。次に、テーブル名をクリックすると、そのメタデータと列が表示されます。
列を表示する
テーブル名をクリックすると、列名と詳細の概要が表示されます。次の例は、 accountsという名前のテーブルからのサンプルを示しています。

-
説明: Genieはメタデータを使用してデータを理解し、正確な応答を生成します。大丈夫テーブルの説明には、データ資産に関連付けられたUnity Catalogメタデータが表示されます。 この説明を編集して、Genieがあなたのスペース向けにSQLを作成する際に役立つ具体的な指示を追加してください。Unity Catalog説明を復元するには、 「リセット」 をクリックします。
-
列: 列名と説明は列リストに含まれています。各列には、 書式設定支援機能 または エンティティマッチング機能 が含まれているかどうかを示すタグが付いています。プロンプトのマッチング概要を参照してください。
関連する列を非表示または表示する
列は個別に管理することも、まとめて管理することもできます。列の表示/非表示を切り替えるには、以下の手順に従ってください。
-
1つの列を非表示にする :
列名の横に表示されます。
-
複数の列を非表示にする :
- 非表示にしたい列のチェックボックスを選択してください。
- 「アクション」 メニューから 「選択した列を非表示にする」 を選択します。
-
変更を元に戻す : 同じステップを繰り返して、非表示になっていた列を表示します。
列メタデータを編集する
各列について、以下の項目をカスタマイズできます。
- 説明 :Genieの理解を深めるための、空間固有の列の説明。
- 同義語 :ユーザーの言語と列名を一致させるのに役立つビジネス用語とキーワード。
- 詳細設定 :プロンプト一致コントロール。
- 書式設定に関するヘルプ :代表値のサンプリングをオンまたはオフにします。
- エンティティマッチング :カテゴリ列のエンティティマッチングを有効または無効にします。
列のメタデータを編集するには:
- クリック
列名の横にある鉛筆アイコン。
- 列の説明と類義語を編集してください。
- 必要に応じて、 「詳細設定」 をクリックして、プロンプトの一致コントロールを開きます。
- 変更を保存してダイアログを閉じるには、 「保存」 をクリックしてください。
マッチングの概要
プロンプトマッチング機能により、Genieはユーザーの質問に最も関連性の高い列と値を照合し、ユーザー入力プロンプトのスペルミスを修正することができます。これにより、Genieの精度が向上し、より信頼性の高いSQLクエリの生成に役立ちます。
Genieでユーザーが質問をする場合、その表現は会話調であることが多く、スペルミスなどの誤りが含まれる可能性があります。このような場合、プロンプトの値がデータ内の構造や値と一致しない可能性があります。これにより、Genieが質問を誤って解釈し、誤ったSQLを生成する可能性があります。
例
次の例を確認してください。
「フロリダ州における第1四半期の自動車販売台数を表示してください。」
データに州の略語(例: FL )が使用されていて、Genie がその列の値にアクセスできない場合、Genie はILIKE '%Florida%'を含む SQL を生成する可能性があり、その結果は返されません。
state列でエンティティマッチングを有効にすると、Genieは代表値にアクセスできるようになります。このコンテキストにより、GenieはFL 「フロリダ」に対応することを認識し、より正確なSQLを生成できます。
エンティティマッチングなし | エンティティマッチング付き |
|---|---|
|
|
マッチングコンポーネントを迅速に表示
- 書式設定支援機能 :書式設定支援機能は、対象となるすべての列に対して代表値を提供し、Genieがデータ型と書式設定パターンを理解するのに役立ちます。プロンプトのマッチングに使用される代表値は、著者のデータ使用権限に基づいて生成されます。これらの値は空間の共有コンテキストの一部となり、Genieが空間のすべての参加者に対してユーザーの指示をより正確に解釈するのに役立ちます。
- エンティティマッチング :エンティティマッチングは、州や製品カテゴリなど、ユーザーが特定の項目を参照する可能性が高い最大120列について、一意の値の厳選されたリストを提供します。これにより、Genieはユーザーの用語を実際のデータ値に一致させることができます。各列には最大1,024個の異なる値を含めることができ、各値の長さは最大127文字です。エンティティのマッチングデータは、ワークスペースのストレージバケットに保存されます。
Genieは、スペースにテーブルを追加する際に、対象となる列の書式設定支援とエンティティマッチングを自動的に提供します。行フィルターまたは列マスクが設定されているテーブルは、プロンプトのマッチングから除外されます。
プロンプトのマッチングを管理する
Genieがデータを理解する精度を最適化するために、フォーマット支援とエンティティマッチングを提供する列を制御します。プロンプトのマッチングは、すべてのGenie Spaceでデフォルトで有効になっています。
フォーマット管理支援
Genie Spaceにテーブルを追加すると、書式設定の補助が自動的に適用されます。
列の書式設定支援を無効にするには:
- Genieスペースで 設定 > データ をクリックします。
- テーブル名をクリックすると、その列が表示されます。
- クリック
列名の横にある鉛筆のアイコン。
- 「詳細設定」 をクリックします。
- フォーマット支援機能 をオフにしてください。
この操作を行うと、その列のエンティティマッチングも自動的に無効になります。必要に応じて、この設定を使用して フォーマット支援機能 を再度有効にしてください。
エンティティマッチングを設定する
Genieは、プロンプト、関連するテーブルメタデータ、プロンプトのマッチング機能、エラーシグナル、および入力されたコードやクエリを使用して応答を生成します。列でエンティティマッチングが有効になっている場合、Genie は保存されている値を利用して、ユーザーのプロンプトを実際のデータにより正確に照合します。これにより、より信頼性の高いSQLクエリが生成されます。エンティティマッチングは、特に明確なクエリ例と丁寧に作成された指示と組み合わせることで、Genieの精度を大幅に向上させます。より詳しいガイダンスについては、 「効果的なGenieスペースの構築」を参照してください。
Genie では、行フィルターや列マスクが設定されているテーブルでエンティティ マッチングを有効にすることができません。ただし、スペース作成者は、行フィルターまたは列マスクを持つテーブルを参照するビュー、または動的ビューに対してエンティティマッチングを無効にする必要があります。
エンティティマッチングは文字列型の列のみをサポートします。以下に、エンティティマッチングに適したデータタイプの例を示します。
- 州または国のコード
- 製品カテゴリー
- ステータスコード
- 部門名
エンティティマッチングを有効にするには、 フォーマット支援機能 をオンにする必要があります。次に、次のステップを使用します。
- Genieスペースで 設定 > データ をクリックします。
- テーブル名をクリックすると、その列が表示されます。
- クリック
列名の横にある鉛筆のアイコン。
- 「詳細設定」 をクリックします。
- エンティティマッチングを オンにしてください。
- 列のエンティティマッチングを無効にするには、 エンティティマッチング をオフにします。

ユーザーがエンティティマッチングが有効になっている列でフィルタリングを行うと、そのフィルタは、列に保存されている値が入力された編集可能なドロップダウンメニューとして表示されます。
プロンプトの一致データを更新または削除します
更新プロンプトの一致データにより、列に保存されている値が更新されます。以下の場合に値を更新します。
- 列に新しい値が追加されました。
- 既存の値の形式が変更されました。
プロンプト一致データを更新するには、をクリックします。列ビューのケバブメニューで、 プロンプトの一致を更新します 。

結合関係を定義する
テーブル間の関係を定義することで、Genieが正確なJOINステートメントを作成できるように支援します。
-
「参加」 をクリックします。
-
[ 追加 ] をクリックします。
-
ドロップダウンメニューから左側のテーブルと右側のテーブルを選択してください。
-
結合条件 を入力してください(例:
accounts.id = opportunity.accountid)- より複雑な結合条件を設定するには、 「SQL式を使用」 をクリックし、結合条件をSQL式として記録してください。
-
関係の種類 を選択してください:
- 多対一 :複数の左行が1つの右行にマッピングされます
- 一対多 :左の行1つが右の行複数にマッピングされる
- 1対1対応 :左の行1つが右の行1つに最大で対応します

同じテーブル間で複数の結合が存在する場合、または自己結合が使用されている場合、Genie は曖昧さを避けるために右側のテーブルにエイリアスを自動的に生成します。
SQL式を定義する

SQL式は、KPI、属性、条件といった一般的なビジネス用語をGenieに教えるための、構造化されたガイド付き方法を提供する。Genieは、ユーザーがこれらのビジネス用語について質問した際に、これらの定義を使用します。
SQL式は、指示書に記載されているSQLクエリの例を補完するものです。SQL式は再利用可能なビジネス概念を定義しますが、一般的なユーザープロンプト形式への対応方法をGenieに教えるには、SQLクエリの例の方がより役立ちます。例えば、ユーザーが「業績の内訳」をよく求める場合、SQLクエリの例を用いることで、地域別、営業担当者別、マネージャー別の成約件数を示すことができます。
SQL式は、次のような場合に最も効果を発揮します。
- 利益率やコンバージョン率など、KPI とメトリクスの構造化された定義を提供します。
- Genieに重要な値の計算方法について明確なコンテキストを与えてください。
- データセットに、月や顧客セグメントなどの追加の次元を定義します。
- Genieに、大量注文や特定時間前の注文など、ビジネス条件に応じたフィルターを教える。
SQL式タイプ
以下の種類のSQL式を定義できます。
- フィルター :一般的なフィルタリング条件。名前、SQLフィルタロジック、および同義語を定義します。
- 尺度 : 重要業績評価指標 (KPI) とメトリクス。 名前、SQL計算式、および同義語を定義します。
- ディメンション :データのグループ化と分析のための属性。名前、SQL式、および同義語を定義します。
SQL式を追加するには:
-
[構成] > [手順] > [SQL式] をクリックします。
-
「追加」 をクリックします。 フィルター 、 メジャー 、または ディメンション を選択してください。
-
「名前」 欄に、式の名前を入力します。
-
「コード」 欄にSQL式を入力します。
- フィルタ式はブール条件に評価されます。
- メジャー式は、テーブル内の複数の行にわたる集計を計算します。
- ディメンション式は、既存データから各行の値を変更します。
-
「同義語」 欄には、ユーザーがこれらの表現を口語的に使う際によく用いられる表現を入力してください。
-
「指示」 欄に、その式が何のために使われるのか、そしてどのように処理するのかをGenieに伝える具体的な指示を入力してください。
SQL式の例
以下の例は、各タイプの式を1つずつ示しています。ビジネスロジックをSQL式として定義すると、テキストによる指示よりも一貫性のある結果が得られます。なぜなら、Genieは自然言語から解釈するのではなく、記述されたとおりにロジックを適用するからです。
フィルター:高額注文
- 名前 :高額注文
- コード :
orders.amount > 10000 - 同義語 :大量注文、大型取引、重要な注文
- 使用方法 :ユーザーが大量注文または高額注文について問い合わせた際に適用してください。最低金額は1万ドルです。
指標:勝率
- 名前 :勝率
- コード :
COUNT(CASE WHEN stage = 'Closed Won' THEN 1 END) / NULLIF(COUNT(*), 0) - 同義語 :成約率、コンバージョン率
- 手順 :獲得できた機会の割合を返します。結果は0から1までの小数です。パーセンテージで表示するには、100を掛けてください。
寸法:取引サイズ
- 名前 :取引規模
- コード :
CASE WHEN amount < 10000 THEN 'Small' WHEN amount < 50000 THEN 'Medium' ELSE 'Large' END - 同義語 :取引規模、契約規模、機会規模
- 手順 :金額に基づいて、商談を小規模、中規模、大規模の3つのグループに分類します。ユーザーから取引規模別に結果を分類してほしいと依頼された場合に使用します。
知識マイニングに関する推奨事項
知識マイニングは、知識ストアの更新を自動的に提案することでGenieの改善に貢献し、手作業によるキュレーションを削減し、回答の精度を向上させます。
まず、 Genie 、あなたのスペースに接続されているテーブルとビューに関するUnity Catalogメタデータを分析します。 スキーマで定義された主キーと外部キーは、Genie Spaceに結合関係として自動的に保存されます。

Genie 、著者との会話におけるやり取りからも学習する。 著者が回答に「いいね」を付けたり、クエリ結果をダウンロードしたりすると、Genieはクエリを分析し、今後の質問に対する精度を向上させるのに役立つロジックを特定します。これは、知識ストアに追加すべき新しいSQL式(メジャー、フィルター、ディメンションなど)や、追加の結合関係を提案する可能性があります。

次のステップ
以下のリンクを利用して、Genie Spaceの構築を続けてください。
- Genie Spaceを最適化するためのベストプラクティスを学びましょう。効果的なGenieスペースのキュレーションを参照してください
- 空間のパフォーマンスを評価し、改善しましょう。ベンチマークを参照