AI/BI Genieスペースとは
この記事では、ビジネスチームが自然言語を使用してデータを操作できるようにするDatabricksの機能であるAI/BI Genieを紹介します。 組織の用語とデータに合わせて調整された生成AI を使用し、ユーザーからのフィードバックを通じてパフォーマンスを監視および改善する機能を備えています。
概要
データアナリストなどのドメイン専門家は、データセット、サンプル クエリ、テキスト ガイドラインを使用して Genieスペースを構成し、Genieがビジネス上の質問を分析クエリに変換する手助けをします。 セットアップ後、ビジネス ユーザーは質問をしたり、運用データを理解するための視覚化を生成したりできます。 genieのセマンティックナレッジは、データが変更されたり、ユーザーが新しい質問を投げかけたりしたときに、継続的に更新できます。DatabricksIQの詳細については、「DatabricksIQを活用した機能」を参照してください。
AI/BI Genieは、注釈付きのテーブルと列から関連する名前と説明を選択して、自然言語の質問を同等のSQLクエリに変換します。 次に、生成されたクエリと結果テーブル (可能な場合) で応答します。 Genieが回答を生成できない場合は、回答を提供する前に、フォローアップの質問をして明確にすることができます。
使用例
さまざまな非技術者層に対応するために、さまざまなGenieスペースを作成できます。次のシナリオでは、考えられる 2 つのユース ケースについて説明します。
Genieがレスポンスを生成する方法
Genieは、 複合AIシステム を使用してビジネス上の質問を解釈し、回答を生成します。 単純な統計モデルであるAIモデルを使用する代わりに、複合AIシステムは、複数の相互作用するコンポーネントを組み合わせてAIアプリケーションのタスクを処理します。 複合AIシステムは、そのパフォーマンスと柔軟性から、AIアプリケーションの設計パターンとしてますます一般的になっています。 詳細については、「 モデルから複合 AI システムへの移行 」を参照してください。
ユーザーが質問を送信すると、Genie はリクエストを解析し、関連するデータソースを特定し、プロンプトへの応答方法を決定します。 提供する指示を Unity Catalog メタデータと組み合わせることで、Genie はビジネスロジックと技術ロジックの両方を推論できます。 Genieは、サンプルSQLクエリ、テーブルと列のメタデータ、チャット履歴をインテリジェントにフィルタリングして、リクエストに応答するために最も関連性の高い情報を選択します。
Genieは、次のコンポーネントを使用して応答を生成します。
テーブルメタデータ: テーブル名、説明、および定義されたプライマリキー (PK) と外部キー (FK) の関係が含まれます。 Genie は、このデータを使用して要求を解析し、自然言語プロンプトを SQL に変換します。
列の名前と説明: Genie は、関連する列の名前と説明を含めるようにインテリジェントにフィルタリングします。
SQLクエリの例:Genieは 、指示から関連するSQLの例をインテリジェントに選択します。
SQL 関数: スペースに追加されたすべての SQL 関数。
手順: 一般的な手順 として提供されるプレーンテキストのメモは、コンテキストとして含まれています。
プロンプトと応答の履歴: 現在のチャットからのプロンプトと応答は、コンテキストとして含まれます。 必要に応じて、 トークンの制限が設定されているため、チャットレコードの最も古い部分が除外されます。
注:
所有者やテーブルサイズなど、一部のテーブルの詳細はデフォルトでは含まれていません。 この情報にアクセスするには、すべての Unity Catalog カタログで使用できる情報スキーマのビューを使用できます。 デフォルトのビューには不要な詳細が含まれている可能性があるため、その上にカスタムビューを作成すると、必要な情報に集中するのに役立ちます。 情報スキーマで使用できる機能の詳細については、「 情報スキーマ」を参照してください。
Genie が結果としてクエリを返す場合、指定された SQLウェアハウスで実行されます。再試行は自動的に処理され、 SQLウェアハウスは同時実行性とスケールを処理します。
どのデータを使うべきですか?
Genieスペースには、マネージドテーブル、外部テーブル、フォーリンテーブル、マテリアライズドビューなど、Unity Catalogに登録された 1 つ以上のテーブルを含めることができます。AI/BI Genie は、Unity Catalog オブジェクトにアタッチされたメタデータを使用して応答を生成します。 適切に注釈が付けられたデータセットと、提供する特定の指示を組み合わせることで、エンドユーザーにポジティブなエクスペリエンスを提供するための鍵となります。
Databricksでは、次のことを推奨しています。
分析用にデータをキュレーションする:ビューをレイヤー化して列数を減らし、ユースケース固有の情報を追加して回答の質を高めます。
Genieスペース内のテーブルと列の数を最小限に抑える: 特定のドメインの質問に答えるために必要なテーブルと列のみを含めます。不要なテーブルや列があると、Genie が混乱を招いたり、誤った回答を出したり、エラーメッセージが表示されたりする可能性があります。
主キー (PK) と外部キー (FK) の関係を定義する: Unity Catalog を使用して PK/FK の関係を定義すると、Genie がデータがどのように接続されているかを理解できます。
信頼できる資産
信頼できるアセットは、結果の精度に対する追加の保証層をスペース ユーザーに伝えます。 パラメータ化されたサンプルクエリまたは SQL 関数の正確なテキストを使用して応答を生成すると、Genie は応答を 信頼できるアセットとしてマークします。 AI/BI Genie spacesでの信頼できるアセットの使用を参照してください。
チャットスレッド
ほとんどのGenieスペースインタラクションはチャットウィンドウで行われます。 チャットスレッドは、各ユーザーのインタラクションの記録を保存します。 各チャットスレッドは、以前に尋ねられた質問に関するコンテキストを保持します。 Genieは、スレッド化されたチャット履歴のコンテキストを使用して、ユーザーがフォローアップの質問をしたときに学習し、さらに調査したり、結果セットに再度焦点を合わせたりします。
スペースへのアクセス権が CAN VIEW 以上のユーザーは、自分のチャット履歴を表示できます。 少なくとも CAN EDIT 権限を持つユーザーは、スペースの [履歴 ] タブですべての質問と回答を確認できます。
回答を確認する
ほとんどの回答には、自然言語による説明と、関連する結果セットを示す表が含まれています。 正確な回答構造は、質問によって異なります。 すべての応答には、質問に答えるために生成された SQL クエリが含まれます。
スペースのユーザーと作成者は、質問に対する回答を確認できます。 彼らは、各回答を高評価または低評価で評価したり、回答のレビューを依頼したりできます。 スペースの編集者と作成者は、 スペースの [ 履歴] タブを使用して、このフィードバックを確認できます。Genie
ベンチマークによる回答の評価
ベンチマークを使用すると、Genieスペースでの個々の回答のテストと評価をスケールアップできます。 指示とは異なり、ベンチマークはGenieスペースを評価するためのものであり、情報を提供するものではありません。 genieは、 のコンテキストを改善するためにベンチマーク質問や例SQL genieを使用しません。
ベンチマークを使用して、テスト問題のコレクションを実行し、その回答を使用して Genie の精度を測定できます。 オプションで、予期される結果を返す SQL ステートメントを含めることができます。 ベンチマークの質問が実行されると、Genieの応答がSQLステートメントによって提供される結果と比較され、精度がスコアリングされます。 SQL の回答が提供されていない場合、質問はレビュー対象としてマークされます。
「Genieスペースでのベンチマークの使用」を参照してください。
プライバシーとセキュリティ
Q: モデルにはどのようなデータが送信されていますか?
Genieスペースは、メタデータと命令を使用して自然言語の質問に対する回答を生成します。 genie 行レベルのデータにはアクセスできません。
レスポンスを処理するために、 genie は以下を使用します。
ユーザーが送信した自然言語プロンプト
テーブルの名前と説明
列のタイトルと説明
一般的な指示
SQL クエリの例
SQL 関数
Q: Azure OpenAI はデータを収集しますか?
いいえ。Databricksは、MicrosoftがAzure OpenAIサービスに送信されたプロンプトやコンプリーションを保存しない、不正使用のモニタリングおよびヒューマンレビュープログラムの免除にオプトインしています。詳細については、 Microsoftのドキュメントを参照してください。