メインコンテンツまでスキップ

効果的なGenieスペースをキュレーションする

Genieスペースをキュレーションする目標は、ビジネスユーザーが自然言語で質問を投げかけ、データに基づいて正確で一貫した回答を受け取ることができる環境を作り出すことです。 Genieスペースは洗練されたクエリを生成し、一般的な世界の知識を理解する高度なモデルを使用します。

ほとんどのビジネス上の質問はドメイン固有であるため、スペース キュレーターの役割は、その一般的な世界の知識と、特定のドメインまたは特定の企業で使用される専門言語との間のギャップを埋めることです。キュレーターは、メタデータと指示を使用して、Genieがビジネスユーザーの質問を正確に解釈し、回答できるように支援します。この記事では、成功するスペースを開発するためのベストプラクティスと原則について概説します。

新しいスペースを定義するためのベスト プラクティス

次のセクションでは、効果的なスペースを作成するためのプラクティスをお勧めします。

小さく始める

Genieスペースのキュレーションは反復的なプロセスです。 新しいスペースを作成するときは、できるだけ小さく始めて、最小限の指示と限られた質問に答える必要があります。 その後、フィードバックとモニタリングに基づいて反復しながら追加できます。 このアプローチにより、スペースの作成と保守が効率化され、実際のユーザーのニーズに応じてスペースを効果的にキュレーションできます。

次のガイドラインを使用して、小さなGenieスペースを作成します。

  • 集中させる : スペースで処理したい質問に答えるために必要なテーブルのみを含めます。 テーブル数は5つ以下を目標にしてください。 選択が集中すればするほど、より良い結果が得られます。 スペースを少量のデータに絞り込むことが理想的であるため、含まれるテーブルの列数を制限します。
  • イテレーションを計画する : スペースの最小限のセットアップから始め、重要なテーブルと基本的な手順に焦点を当てます。 より詳細なガイダンスや例を追加して、時間をかけて空間を洗練させていきます。最初は完璧を目指すのではなく、その通りです。
  • 適切に注釈が付けられたテーブルに基づいて構築します: Genieは応答を生成するためにUnity Catalogの列名と説明を使用します。 明確な列名と説明は、高品質の応答を生成するのに役立ちます。 列の説明には正確なコンテキスト情報を提供する必要があります。 あいまいな詳細や不必要な詳細は避けてください。 AI によって生成された説明の正確性と明確性を検査し、手動で提供する内容と一致する場合にのみ使用してください。

ドメインの専門家にスペースを定義してもらいます

効果的なスペース作成者は、データとそこから得られる知見を理解する必要があります。 SQLに精通したデータアナリストは、通常、スペースをキュレーションするための知識とスキルを持っています。

スペースの目的を定義する

スペースの特定のオーディエンスと目的を特定することで、使用するデータ、手順、テスト問題を決定するのに役立ちます。スペースは、さまざまなドメインにわたる一般的な質問ではなく、特定のトピックや対象ユーザー向けの質問に答える必要があります。スペースにデータを追加する前に、テーブルを事前に結合し、不要な列を削除することで、データセットを簡略化できます。スペースにデータを追加するときは、スペースの定義された目的にしっかりと焦点を合わせてください。混乱を招く可能性のある列や重要でない列を非表示にします。「列の表示または非表示」を参照してください。

メタデータとシノニムを追加する

列のシノニムとカスタムの説明を Genieスペース内のデータに追加できます。 このメタデータは Genieスペースにスコープが設定され、 Unity Catalogに格納されたメタデータは上書きされません。 質の高い列の説明と同義語は、Genieが列をよりよく理解し、関連する質問にそれを選択し、より正確なSQLを書くのに役立ちます。「列メタデータの編集」を参照してください。

Genieデータサンプリングを有効にする

備考

プレビュー

この機能は パブリック プレビュー段階です。

ワークスペース管理者は、ワークスペースの Genieデータサンプリング を有効にすることができます。データサンプリングは、空間内のデータセットから値をサンプリングすることでGenieの精度を向上させ、ユーザープロンプトを正しい列と値に一致させるのに役立ちます。有効にすると、スペースの作成時に Genie はテーブルから値を自動的にサンプリングします。データがサンプリングされる列を管理できます。データの管理および値サンプリングを使用してGenieの精度を向上させるを参照してください。

焦点を絞った例と指示を提供する

Genie spaces 、限定的で焦点を絞った一連の指示で最高のパフォーマンスを発揮します。 Databricks では、サンプルの SQL クエリを活用して、スペースで指示を提供することをお勧めします。SQLクエリの例を使用すると、Genieはユーザープロンプトを検証済みのSQLクエリと照合し、例から学習して関連する質問に答えることができます。「SQL クエリと関数の例の追加」を参照してください。

Genieスペースでグローバルに適用すべきコンテキストについては、小さくてよく整理されたプレーンテキストの指示のセットも、関連性を維持し、応答品質を向上させるのに役立ちます。指示が多すぎると、特に長い会話では、Genieが最も重要なガイダンスを優先するのに苦労する可能性があるため、効果が低下する可能性があります。詳細については、「 手順の入力」を参照してください。

テストと調整

あなたはスペースの最初のユーザーである必要があります。新しいスペースを作成したら、質問を始めましょう。質問に対する回答として生成された SQL を慎重に調べてください。Genieがデータ、質問、またはビジネス用語を誤って解釈した場合は、生成されたSQLを編集するか、他の特定の指示を提供することで介入できます。信頼できる応答が得られるまで、テストと編集を続けます。

質問を確認したら、その質問をベンチマーク問題として追加し、スペースの全体的な精度を体系的にテストおよび採点するために使用できます。バリエーションとさまざまな質問の言い回しを使用して、Genie の応答をテストできます。「Genieスペースでのベンチマークの使用」を参照してください。

誤った応答の修正に関するアイデアについては、 トラブルシューティング を参照してください。

ユーザーテストの実施

テストを通じてレスポンスの品質を確認した後、ビジネスユーザーを募集してGenieスペースを試してみてください。 次のガイドラインを使用して、スムーズなユーザー体験を提供し、継続的な改善のためのフィードバックを収集します。

  • 彼らの仕事は部屋を洗練させるのを助けることであるという期待を設定します。
  • そのスペースが答えを出そうとしている特定のトピックや質問にテストを集中させるように依頼します。
  • 間違った回答を受け取った場合は、チャットに追加の指示と説明を追加して回答を絞り込むようにユーザーに促します。 正しい応答が提供された場合は、将来のインタラクションで同様のエラーを最小限に抑えるために、最終的なクエリに賛成票を投じる必要があります。
  • 組み込みのフィードバック メカニズムを使用して、応答に賛成票を投じるか、反対票を投じるようにユーザーに伝えます。
  • ユーザーに招待して、追加のフィードバックや未解決の質問をスペースの作成者と直接共有してもらいます。 作成者と編集者は、フィードバックを使用して、指示、例、信頼できるアセットを改良できます。

トレーニング資料や、部屋のテストとフィードバックの提供に関するガイドラインが記載された文書を提供することを検討してください。ビジネスユーザーに「 Genieスペースを使用してビジネスデータを探索し 、新しいGenieスペースでの作業を開始する」ように誘導します。

ビジネス ユーザーがスペースをテストすると、スペース エディターは モニタリング タブで質問 を確認できます。 Genieが質問とデータを正しく解釈して正確な回答を提供できるように、コンテキストを追加し続けます。モニタリング の詳細については、「 スペースのモニタリングGenie spaces 」を参照してください。監査ログを使用して、 Genieスペースのフィードバックとレビュー要求を監視することもできます。 監査ログとアラートを使用したGenieスペースの使用状況の監視を参照してください。

注記

ビジネス ユーザーがスペースにアクセスするには、元のワークスペースのメンバーである必要があります。 スペースを操作するための適切な権限を付与する方法については、 必要な権限 を参照してください。

トラブルシューティング

次のセクションでは、一般的な問題を解決する方法について説明します。

誤解されたビジネス用語

ほとんどの企業やドメインには、ビジネス固有のイベントについて伝えるために使用する特定の略語があります。 たとえば、年を指す場合、常に会計年度を意味し、この会計年度は 1 月ではなく 2 月または 3 月に始まる場合があります。 Genieがこれらの質問に自然かつ正確に答えられるようにするには、ビジネス用語をGenieが理解できる単語や概念に明示的にマッピングする指示を含めます。 指示を提供するを参照してください。

テーブルまたは列の使用法が正しくありません

Genieが間違ったテーブルからデータを取得しようとしたり、間違った列で分析を実行しようとしたりする場合は、次のいずれかの方法でデータを調整できます。

  • 明確で正確な説明を提供する : テーブルと関連するメタデータをチェックして、そこで使用されている用語が、送信された質問のユーザーの用語と一致していることを確認します。そうでない場合は、説明を絞り込むか、表で使用されている用語を質問で使用されている用語にマッピングする指示を追加します。
  • サンプルクエリの追加 : Genie が特定の質問に回答する方法を学習するために使用できるサンプル SQL クエリを提供します。 指示を提供するを参照してください。
  • スペースからテーブルまたは列を削除する : 一部のテーブルには、重複する列や概念が含まれているため、Genie が応答で使用するデータを判断するのが難しくなる可能性があります。可能であれば、不要なテーブルや列、または重複するテーブルや列を削除します。基になるデータ オブジェクトを変更せずに、 Genieスペース UI から列をすばやく非表示にするには、「 列の表示または非表示」を参照してください。

エラーのフィルタリング

生成されたクエリには、多くの場合、特定の値に従って結果をフィルタリングするための WHERE 句が含まれています。Genie がデータ値を可視化できない場合、間違った値をフィルタリングするように WHERE 句を設定する可能性があります。たとえば、テーブルで "CA" などの省略形が使用されている場合、"California" という名前を一致させようとする場合があります。

このような状況では、次のいずれかの方法を試してください。

  • 必要に応じて、ワークスペース管理者は プレビュー ページから Genieデータサンプリング を有効にする必要があります。これにより、Genie がユーザープロンプトを列の値により適切に一致させるのに役立つ機能が有効になります。値サンプリングを使用して Genie の精度を向上させるを参照してください。
  • 関連する列で [Example values ] と [Value ディクショナリ ] が有効になっていることを確認します。関連するテーブルに新しいデータが追加された場合は、値を更新します。「列の表示」を参照してください。

正しくない結合

外部キー参照が Unity カタログで定義されていない場合、スペースは異なるテーブルを結合する方法を認識できない可能性があります。

次のソリューションを 1 つ以上実装してみてください。

  • 可能な場合は、 Unity Catalog で外部キー参照を定義します。 CONSTRAINT 句を参照してください。
  • 標準的な方法でテーブルを結合するクエリの例を提供します。
  • テーブルの外部キー リレーションシップが Unity Catalog で指定されていない場合は、手順に文書化します。

これらのいずれでも問題が解決しない場合は、テーブルをビューに事前に結合し、代わりにそれをスペースの入力として使用します。 この戦略は、自己結合などのより複雑な結合シナリオに役立ちます。

フォーリンテーブルから列のコメントが同期されない

Databricks は、フォーリンテーブルへの書き込みのメタデータ、データ、またはセマンティクスを管理しません。 ソース テーブルによっては、Databricks からコメントにアクセスできない場合があります。コメントを利用可能にするために、Databricks では次のいずれかを実行することをお勧めします。

  • GenieスペースUIで列のメタデータを編集します。編集されたメタデータは、書き込まれた Genieスペースにのみ適用されます。 「列メタデータの編集」を参照してください。
  • フェデレーテッド テーブルの上にマテリアライズドビューを作成します。 マテリアライズドビューでは、マネージドテーブルと同様にコメントを追加および編集できます。 このビューは、複数の Genie spacesで再利用できます。 フォーリンテーブルからマテリアライズドビューへのデータの読み込みの詳細については、 マテリアライズドビューを使用してフォーリンテーブルからデータを読み込むを参照してください。 マテリアライズドビューの操作の詳細については、「 マテリアライズドビュー」を参照してください。

メトリクス計算の問題

メトリクスがコンピュートされ、ロールアップされる方法は、任意に複雑になり、あなたのスペースが理解できない多くのビジネスの詳細を網羅している可能性があります。 これにより、誤ったレポートが発生する可能性があります。

次のソリューションを 1 つ以上実装してみてください。

  • メトリクスがベーステーブルから集計されている場合は、各ロールアップ値を計算する SQL クエリの例を提供します。
  • あなたのメトリクスがコンピュート前に存在し、集約されたテーブルに置かれている場合は、テーブルのコメントでこれを説明してください。 各メトリクスの有効な集計を指定するには、そのテーブル内のメトリクスをさらにロールアップできます。
  • 生成しようとしている SQL が非常に複雑な場合は、スペースのメトリクスをすでに集計したビューを作成してみてください。

時間ベースの計算が正しくない

Genieは、データで表されるタイムゾーンや分析を実行する必要があるタイムゾーンを常に推測できるとは限りません。ただし、追加のガイダンスを明示的に提供しない限り、そのタイムゾーンは必ずしも推測できません。

元のソースタイムゾーン、変換関数、ターゲットタイムゾーンの詳細を説明した、より明確な手順を含めます。 次の例は、より信頼性の高いタイムゾーン変換のために一般的な手順を変更する方法を示しています。

  • 常に時刻を特定のタイムゾーンに変換する : この例では、ソースのタイムスタンプが UTC であり、 America/Los_Angeles タイムゾーンで結果が得られると仮定します。指示に以下を追加し、 <timezone-column> を適切な列名に置き換えます。

    • テーブル内のタイムゾーンは UTCです。
    • 次の関数を使用してすべてのタイムゾーンを変換します: convert_timezone('UTC', 'America/Los_Angeles', <timezone-column>).
  • UTC 以外の日時形式を UTC に変換する : ワークスペースのデフォルト タイムゾーンが UTC であるが、ロサンゼルスのユーザーが特定のレコード セットで 今日 を参照する必要がある場合は、スペースの一般的な手順に以下を追加します。

    • 今日 を参照するには、'date(convert_timezone('UTC', 'America/Los_Angeles', current_timestamp())) を使用します。

詳細と構文については、convert_timezone関数を参照してください。

指示を無視する

コメントでテーブルと列を説明し、一般的な指示を提供した場合でも、スペースでそれらが正しく使用されていない可能性があります。

次の方法の 1 つ以上を試してください。

  • テーブルを正しく使用するクエリの例を提供します。 クエリの例は、データの使用方法をスペースに教えるのに特に効果的です。
  • Genieスペースで無関係な列を非表示にします。「列の表示または非表示」を参照してください。
  • テーブルからビューを作成して、データをより簡単に表示します。
  • 指示を確認し、無関係なテーブルや指示を削除してスペースを集中させてみてください。
  • 新しいチャットを開始してみてください。以前のインタラクションは、特定のチャットでのGenieの応答に影響を与える可能性がありますが、新しいチャットを開始すると、新しい指示をテストするための空白の出発点が得られます。

パフォーマンスの問題

Genieが非常に長いクエリやテキスト応答を生成する必要がある場合、応答に長い時間がかかったり、思考段階でタイムアウトしたりすることがあります。

パフォーマンスを向上させるために、次のアクションを 1 つ以上試してください。

  • 信頼できるアセットまたはビューを使用して、複雑なクエリをカプセル化します。 AI/BI Genieスペースでの信頼できるアセットの使用を参照してください。
  • サンプルの SQL クエリの長さは、可能な限り短くしてください。
  • Genieが遅いまたは失敗する応答を生成し始めた場合は、新しいチャットを開始します。

ミッションクリティカルな質問に対する信頼性の低い回答

信頼できるアセットを使用して、ユーザーが尋ねると予想される特定の質問に対して検証済みの回答を提供します。 AI/BI Genieスペースでの信頼できるアセットの使用を参照してください。

トークン制限の警告

トークンは、Genieが言語を処理し理解するために使用するテキストの基本単位です。Genieスペースに命令またはメタデータとして含まれるテキストは、トークンに変換されます。スペース内のトークンの数が制限に近づいている場合、製品は警告で通知します。Genieは、スマートコンテキストフィルタリングを適用して、メタデータを表すトークンと、Genieスペースに含まれる一部のタイプの命令を選択します。制限を超えた場合でも、スペースは質問に対する回答を生成し続ける必要があります。

Genieスペースがトークン制限に近づくと、Genieはテーブルスキーマの一部と質問に最も関連性の高い指示のみを優先に含める場合があります。これにより、重要なコンテキストが除外された場合、応答の品質が低下する可能性があります。トークン数を減らすために、次のプラクティスを検討してください。

  • 不要な列を削除する : テーブル内の不要な列は、トークンの使用量に大きく影響する可能性があります。可能であれば、生のテーブルから冗長なフィールドや重要でないフィールドを除外するビューを作成します。Genieスペースで不要な列を非表示にすることもできます。「列の表示または非表示」を参照してください。
  • 列の説明を効率化 する: 列の説明は重要ですが、列名によって既に伝えられている情報を重複させないようにします。 たとえば、列の名前が account_nameの場合、「アカウントの名前」のような説明は冗長であり、省略できます。
  • Genieスペースでの列メタデータの編集 : 説明を編集し、列メタデータに同義語を提供する方法については、「 列メタデータの編集 」を参照してください。
  • サンプル SQL ステートメントの整理 : さまざまな種類の質問に対応するために、さまざまなサンプル SQL ステートメントを含めますが、重複する例や冗長な例は削除します。
  • 指示を簡略化する : 指示が明確で簡潔であることを確認してください。 不必要な言葉は避けてください。

アカウントが Geo 間処理に対応していない

Genieは、Databricksが管理する 指定サービス です。指定サービスでは、Databricks Geos を使用してデータ所在地を管理します。一部の地域では、ワークスペースと同じ Geo でデータを処理できません。 ワークスペースがこれらのリージョンのいずれかにある場合は、アカウント管理者が クロスジオ処理 を有効にする必要があります。

スループットの上限に達する

Genie spacesDatabricksUI から にアクセスする場合、スループットは、すべての でワークスペースごとに 1 分あたり 20Genie spaces 問に制限されます。

Genie spacesConversationAPI の無料レベル (パブリック プレビュー) を使用して にアクセスする場合、スループットは、すべてのワークスペースでワークスペースごとに 1 分あたり 5 問のベスト エフォートに制限されますGenie spaces 。「Genie Conversation API を使用して Genie をアプリケーションに統合する」を参照してください。