効果的なGenieスペースをキュレーションする
Genieスペースをキュレーションする目標は、ビジネスユーザーが自然言語で質問を投げかけ、データに基づいて正確で一貫した回答を受け取ることができる環境を作り出すことです。 Genie spaces 、高度なクエリを生成し、一般的な世界の知識を理解する高度なモデルを使用します。
ほとんどのビジネス上の質問はドメイン固有であるため、スペース キュレーターの役割は、その一般的な世界の知識と、特定のドメインまたは特定の企業で使用される専門言語との間のギャップを埋めることです。 キュレーターはメタデータと指示を使用して、 ビジネス ユーザーの質問をGenieが正確に解釈して応答できるようにします。 この記事では、成功するスペースを開発するためのベストプラクティスと原則について説明します。
新しいスペースを定義するためのベスト プラクティス
次のセクションでは、効果的なスペースを作成するための推奨事項のプラクティスについて説明します。
小さく始める
Genieスペースのキュレーションは反復的なプロセスです。 新しいスペースを作成するときは、できるだけ小さく始めて、最小限の指示と限られた質問に答える必要があります。 その後、フィードバックとモニタリングに基づいて反復しながら追加できます。 このアプローチにより、スペースの作成と保守が効率化され、実際のユーザーのニーズに応じてスペースを効果的にキュレーションできます。
次のガイドラインを使用して、小さなGenieスペースを作成します。
- 集中させる : スペースで処理したい質問に答えるために必要なテーブルのみを含めます。 テーブル数は5つ以下を目標にしてください。 選択が集中すればするほど、より良い結果が得られます。 スペースを少量のデータに絞り込むことが理想的であるため、含まれるテーブルの列数を制限します。
- イテレーションを計画する : スペースの最小限のセットアップから始め、重要なテーブルと基本的な手順に焦点を当てます。 より詳細なガイダンスや例を追加して、時間をかけて空間を洗練させていきます。最初は完璧を目指すのではなく、その通りです。
- 適切に注釈が付けられたテーブルに基づいて構築します: Genieは応答を生成するためにUnity Catalogの列名と説明を使用します。 明確な列名と説明は、高品質の応答を生成するのに役立ちます。 列の説明には正確なコンテキスト情報を提供する必要があります。 あいまいな詳細や不必要な詳細は避けてください。 AI によって生成された説明の正確性と明確性を検査し、手動で提供する内容と一致する場合にのみ使用してください。
ドメインの専門家にスペースを定義してもらいます
効果的なスペース作成者は、データとそこから得られる知見を理解する必要があります。 SQLに精通したデータアナリストは、通常、スペースをキュレーションするための知識とスキルを持っています。
スペースの目的を定義する
スペースの特定のオーディエンスと目的を特定することで、使用するデータ、手順、テスト問題を決定するのに役立ちます。 スペースは、さまざまなドメインにわたる一般的な質問ではなく、特定のトピックや対象ユーザー向けの質問に答える必要があります。
テストと調整
あなたはスペースの最初のユーザーである必要があります。 新しいスペースを作成したら、質問を始めましょう。 質問に応じて生成された SQL を注意深く調べます。 Genieがデータ、質問、またはビジネス用語を誤って解釈した場合は、生成されたSQLを編集するか、その他の具体的な指示を提供することで介入できます。 信頼できる応答が得られるまで、テストと編集を続けます。
質問を確認したら、その質問をベンチマーク質問として追加し、スペースの全体的な精度を体系的にテストして採点するために使用できます。 バリエーションやさまざまな質問の言い回しを使用して、Genie の応答をテストできます。 「Genieスペースでのベンチマークの使用」を参照してください。
誤った応答の修正に関するアイデアについては 、トラブルシューティング を参照してください。
ユーザーテストの実施
テストを通じてレスポンスの品質を確認した後、ビジネスユーザーを募集してGenieスペースを試してみてください。 次のガイドラインを使用して、スムーズなユーザー体験を提供し、継続的な改善のためのフィードバックを収集します。
- 彼らの仕事はスペースを洗練するのを助けることであるという期待を植え付けます。
- そのスペースが答えを出そうとしている特定のトピックや質問にテストを集中させるように依頼します。
- 間違った回答を受け取った場合は、チャットに追加の指示と説明を追加して回答を絞り込むようにユーザーに促します。 正しい応答が提供された場合は、将来のインタラクションで同様のエラーを最小限に抑えるために、最終的なクエリに賛成票を投じる必要があります。
- 組み込みのフィードバック メカニズムを使用して、応答に賛成票を投じるか、反対票を投じるようにユーザーに伝えます。
- ユーザーに招待して、追加のフィードバックや未解決の質問をスペースの作成者と直接共有してもらいます。 作成者と編集者は、フィードバックを使用して、指示、例、信頼できるアセットを改良できます。
トレーニング資料や、部屋のテストとフィードバックの提供に関するガイドラインが記載された文書を提供することを検討してください。 ビジネス ユーザーがスペースをテストすると、ユーザーが尋ねた質問が [履歴 ] タブに表示されます。 Genieが質問とデータを正しく解釈して正確な回答を提供できるように、指示を追加し続けます。 を監視する方法の詳細については、「 履歴とフィードバックのレビュー Genie spaces」を参照してください。
ビジネス ユーザーがスペースにアクセスするには、元のワークスペースのメンバーである必要があります。 スペースを操作するための適切な権限を付与する方法については、「 必要な権限 」を参照してください。
トラブルシューティング
次のセクションでは、一般的な問題を解決する方法について説明します。
誤解されたビジネス用語
ほとんどの企業やドメインには、ビジネス固有のイベントについて伝えるために使用する特定の略語があります。 たとえば、年を指す場合、常に会計年度を意味し、この会計年度は 1 月ではなく 2 月または 3 月に始まる場合があります。 Genieがこれらの質問に自然かつ正確に答えられるようにするには、ビジネス用語をGenieが理解できる単語や概念に明示的にマッピングする指示を含めます。 「指示を提供する」を参照してください。
テーブルまたは列の使用法が正しくありません
genieが間違ったテーブルからデータを取得しようとしたり、間違った列で分析を実行しようとしたりする場合は、次のいずれかの方法でデータを調整できます。
- 明確で正確な説明を提供する : テーブルと関連するメタデータをチェックして、そこで使用されている用語が、送信された質問のユーザーの用語と一致していることを確認します。 そうでない場合は、説明を絞り込むか、表で使用されている用語を質問で使用されている用語にマッピングする指示を追加します。
- サンプルクエリの追加 : Genie が特定の質問に回答する方法を学習するために使用できるサンプル SQL クエリを提供します。 「指示を提供する」を参照してください。
- スペースからテーブルまたは列を削除する : 一部のテーブルには、重複する列や概念が含まれているため、Genie が応答で使用するデータを判断するのが難しくなる可能性があります。 可能であれば、不要なテーブルや列、または重複するテーブルや列を削除します。 必要な列のみを含むビューを作成することもできます。
エラーのフィルタリング
生成されたクエリには、多くの場合、特定の値に従って結果をフィルタリングするための WHERE
句が含まれています。 Genie は実際のデータを表示できないため、間違った値をフィルター処理するように WHERE
句を設定する可能性があります。 たとえば、テーブルで "CA" などの省略形が使用されている場合、"California" という名前を一致させようとする場合があります。
このような状況では、次のいずれかの方法を試してください。
- 列の値のセットが適度に小さい場合は、各列の説明に対して有効な文字列を列挙します。 文字列値を引用符で囲みます (特にスペースや数字が含まれている場合)。 場合によっては、一般的な列挙型では、すべての州の値をリストする代わりに、「3 文字の国の ISO コードを使用してください」と言うだけで十分です。
正しくない結合
外部キー参照が Unity Catalogで定義されていない場合、スペースは異なるテーブルをどのように結合すべきかを認識できない可能性があります。
次のソリューションを 1 つ以上実装してみてください。
- 可能な場合は、 Unity Catalog で外部キー参照を定義します。 CONSTRAINT 句を参照してください。
- 標準的な方法でテーブルを結合するクエリの例を提供します。
- テーブルの外部キー リレーションシップが Unity Catalog で指定されていない場合は、手順に文書化します。
これらのいずれでも問題が解決しない場合は、テーブルをビューに事前に結合し、代わりにそれをスペースの入力として使用します。 この戦略は、自己結合などのより複雑な結合シナリオに役立ちます。
メトリクス計算の問題
メトリクスがコンピュートされ、ロールアップされる方法は、任意に複雑になり、あなたのスペースが理解できない多くのビジネスの詳細を網羅している可能性があります。 これにより、誤ったレポートが発生する可能性があります。
次のソリューションを 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が非常に長いクエリやテキスト応答を生成する必要がある場合、応答に長い時間がかかったり、思考段階でタイムアウトしたりすることがあります。
パフォーマンスを向上させるために、次のアクションを 1 つ以上試してください。
- 信頼できるアセットまたはビューを使用して、複雑なクエリをカプセル化します。 AI/BI Genie spacesでの信頼できるアセットの使用を参照してください。
- サンプルの SQL クエリの長さは、可能な限り短くしてください。
- Genieが遅いまたは失敗する応答を生成し始めた場合は、新しいチャットを開始します。
ミッションクリティカルな質問に対する信頼性の低い回答
信頼できるアセットを使用して、ユーザーが尋ねると予想される特定の質問に対して検証済みの回答を提供します。 AI/BI Genie spacesでの信頼できるアセットの使用を参照してください。
トークン制限の警告
トークンは、 genieが言語を処理および理解するために使用するテキストの基本単位です。 Genieスペースに命令またはメタデータとして含まれるテキストは、トークンに変換されます。スペース内のトークンの数が制限に近づいている場合、製品は警告で通知します。 genie は、スマート コンテキスト フィルタリングを適用して、メタデータを表すトークンと、 Genieスペースに含まれる一部の種類の命令を選択します。 制限を超えた場合でも、スペースは質問に対する回答を生成し続ける必要があります。
Genieスペースがトークン制限に近づくと、Genieは質問に最も関連性の高いテーブルスキーマと指示の部分のみを優先に含める場合があります。 これにより、重要なコンテキストが除外された場合、応答の品質が低下する可能性があります。 トークン数を減らすために、次のプラクティスを検討してください。
- 不要な列を削除する : テーブル内の不要な列は、トークンの使用量に大きく影響する可能性があります。 ビューを作成して、生のテーブルから冗長なフィールドや重要でないフィールドを除外します。
- 列の説明を効率化 する: 列の説明は重要ですが、列名によって既に伝えられている情報を重複させないようにします。 たとえば、列の名前が
account_name
の場合、「アカウントの名前」のような説明は冗長であり、省略できます。 - 指示を簡略化する : 指示が明確で簡潔であることを確認してください。 不必要な言葉は避けてください。
- サンプル SQL ステートメントの整理 : さまざまなタイプの質問に対応するために、さまざまなサンプル SQL ステートメントを含めますが、重複する例や冗長な例は削除します。
アカウントが Geo 間処理に対応していない
Genieは、Databricksが管理する 指定サービス です。 指定サービスでは、Databricks Geos を使用してデータ所在地を管理します。 一部の地域では、ワークスペースと同じ Geo でデータを処理できません。 ワークスペースがこれらのリージョンのいずれかにある場合は、アカウント管理者が クロスジオ処理 を有効にする必要があります。
スループットの上限に達する
Genie spaces のスループットは、すべてのGenie spacesで、ワークスペースごとに 1 分あたり 20 問に制限されています。