Databricksで自然言語でデータと対話できる機能「Genie space」を一通り試してみた

Databricksで自然言語でデータと対話できる機能「Genie space」を一通り試してみた

2026.04.16

さがらです。

以前、DatabricksのAI/BI Dashboardを試した記事を書きました。

https://dev.classmethod.jp/articles/databricks-try-ai-bi-dashboards/

https://dev.classmethod.jp/articles/databricks-aibi-dashboard-with-metric-view/

上記の記事ではsamples.bakehouseデータを使って、商品別売上の棒グラフや国別売上のドーナツグラフ、Metric Viewを用いたダッシュボードを作成しました。

今回は同じデータを使って、Genie spaceでも同じ切り口の分析ができるかを確認してみます。DashboardとGenieの違いを実感しながら、どう使い分けるかを考えるきっかけになれば幸いです。

Genie spaceは、ビジネスユーザーが自然言語でデータに質問できるチャットインターフェースです。入力した質問をSQLクエリに変換し、結果をテーブルやグラフで表現して返す機能です。

https://docs.databricks.com/aws/en/genie/

GenieとDashboardの違い

AI/BIにはGenie spaceとDashboardの2種類の機能があります。前回の記事ではDashboardを試しましたが、2つは用途が異なります。

Genie space Dashboard
質問方式 自然言語での会話形式 事前定義された固定ビジュアライゼーション
用途 データの探索・アドホック分析 定期確認するKPIの安定した分析基盤

https://docs.databricks.com/aws/en/ai-bi/concepts

制限事項

  • テーブル上限: 1つのGenie spaceに追加できるテーブルは最大30個まで
  • スループット制限: ワークスペースあたり毎分最大20の質問
  • ファイルアップロード(Public Preview): 1会話あたり最大25ファイル、1ファイルあたり200MB未満、100列以下
  • Agent Mode(Public Preview): ワークスペース管理者によるプレビュー機能の有効化が必要
  • Embed(Public Preview): iframeとして外部アプリに埋め込む機能もPublic Preview

前提条件

  • Databricks: Free Edition(AWS)
  • 使用データ: samples.bakehouse(Databricks標準搭載のサンプルデータセット)

試してみた

1. Genie spaceを作成する

サイドバーからGenieをクリックし、右上のNewボタンをクリックします。

2026-04-15_17h26_00

使用するテーブルを選択します。下図のようにテーブルを追加して、Createを押します。

2026-04-15_17h27_30

次にConfigureの画面が開くため、Genie spaceのタイトルと使用するSQLウェアハウスに変更があれば、修正します。(今回はデフォルトのまま、使用します。)

2026-04-15_17h29_18

2. Knowledge storeを設定する

Genie spaceを作成しただけでは、テーブルのカラム名や業務用語をGenieが正確に理解できないことがあります。Knowledge storeを設定して、データの意味・集計ロジック・テーブル間の結合条件をGenieに教えます。

https://docs.databricks.com/aws/en/genie/knowledge-store

Knowledge storeは以下の5つの要素で構成されます。

要素 概要
Metadata customization テーブル・カラムの説明・同義語を追加
Data customization Unity Catalogを変更せずに簡略化したデータセットを定義
Prompt matching 値の例示やスペル補正でGenieのクエリ精度を向上
Join relationships テーブル間の結合条件を定義
SQL expressions Measures・Filters・Dimensionsの3種でビジネスロジックを定義

これらはすべてConfigure > Dataタブから設定します。

2026-04-16_10h35_55

① Metadata customization

Configure > Dataでテーブルを選択するとカラム一覧が表示されます。カラム名だけではGenieが意図を誤解しやすいものに説明と同義語を追加します。

各カラムには以下の3つの設定項目があります。

設定項目 説明
Display Name カラムのフレンドリーな表示名。Unity Catalog上のカラム名はリネームされない
Description カラムの説明。このGenie Spaceにのみ適用され、Unity Catalogは変更されない
Synonyms 関連キーワードをカンマ区切りで登録。Genieがユーザーの質問をこのカラムにマッチさせる精度が向上する

sales_transactionsテーブルの主要カラムに以下を設定しました。(下図は、設定画面の一例です。)

カラム名 Display Name Description Synonyms
totalPrice 合計金額 1件の取引の合計金額(単位: ドル) 売上, 売上金額, 売上額, 合計
product 商品名 商品名 商品, アイテム, 品目
paymentMethod 支払方法 支払方法(visa / mastercard / amex) 支払い, 決済方法
quantity 数量 購入数量 数量, 個数
unitPrice 単価 商品1個あたりの単価(単位: ドル) 単価

2026-04-16_13h22_36

sales_franchisesテーブルにも設定を追加します。

カラム名 Display Name Description Synonyms
size 店舗規模 店舗規模(S / M / L / XL / XXL) 店舗サイズ, フランチャイズ規模
country 所在国 店舗の所在国 国, 国名

また、sales_transactionscardNumberは分析に不要なため非表示に設定します。

2026-04-16_13h27_14

② Prompt matching(Format assistance / Entity matching)

Prompt Matchingは、ユーザーの質問に含まれる値のゆらぎ(表記ゆれ・スペルミスなど)をGenieが補正して正しいクエリを生成するための機能です。カラムの詳細設定から有効化します。

  • Format assistance: カラムの代表値をGenieに渡し、データ形式の解釈を補助します
  • Entity matching: 値リストを登録し、文字列カラムの値のマッチング精度を向上させます。Format assistanceを有効にした上で設定します(最大120カラム・各1,024件まで)

今回の検証では、下図のようにデフォルトで設定されていたEntity matchingを利用します。

2026-04-16_13h31_12

③ SQL expressions(Measures・Filters・Dimensions)

samples.bakehouseで使いたいKPIとフィルタ条件をSQL expressionsとして定義します。SQL expressionsには以下の3種類があります。

Type 用途
Measures KPIや集計指標
Filters よく使うWHERE条件(booleanを返す)
Dimensions グルーピングや分析に使う属性

こちらは、Configure > InstructionsSQL Expressionsから+ Addを押すことで設定可能です。

2026-04-16_13h33_19

各SQL expressionにはName・Code・Synonyms・Instructionsを設定します。今回は以下を登録しました。

Measures (下図は、設定画面の一例です。)

Name Code Synonyms
売上合計 SUM(sales_transactions.totalPrice) 総売上, 売上額合計
注文件数 COUNT(sales_transactions.transactionID) 取引件数, トランザクション数
平均注文金額 AVG(sales_transactions.totalPrice) 平均売上, 平均単価
合計販売数量 SUM(sales_transactions.quantity) 販売数, 売れた数

2026-04-16_13h35_05

Filters (下図は、設定画面の一例です。)

Name Code Instructions
大口取引 sales_transactions.totalPrice >= 50 合計金額が50ドル以上の取引のみ

2026-04-16_13h37_19

Dimensions (下図は、設定画面の一例です。)

Name Code Synonyms
商品名 sales_transactions.product 商品, 品目
支払方法 sales_transactions.paymentMethod 支払い, 決済

2026-04-16_13h39_57

④ Join relationships

テーブル間のリレーションの設定も可能です。こちらは、Configure > InstructionsJoinsから+ Addを押すことで設定可能です。

2026-04-16_13h43_49

samples.bakehouseのテーブル間リレーションは以下の通りです。Left table・Right tableを選択し、Join conditionとRelationship typeを指定します。

Left table Right table Join condition Relationship type
sales_transactions sales_franchises sales_transactions.franchiseID = sales_franchises.franchiseID Many to one
sales_transactions sales_customers sales_transactions.customerID = sales_customers.customerID Many to one
sales_franchises sales_suppliers sales_franchises.supplierID = sales_suppliers.supplierID Many to one

2026-04-16_13h46_34

参考:Knowledge Mining機能について

今回は検証しませんが、Knowledge Miningという自動提案機能もあります。Unity Catalogのプライマリキー・外部キー情報の解析や、ユーザーのフィードバック(サムズアップ)・ダウンロードされたクエリから学習し、Join関係やSQL式の候補を自動提示してくれます。

https://docs.databricks.com/aws/en/genie/knowledge-store#knowledge-mining-recommendations

3. 質問してみる

Knowledge storeの設定が完了したので、チャット画面から自然言語で質問してみます。

2026年4月時点でPublic PreviewのAgent Mode(旧称: Research Agent)で試してみます。

https://docs.databricks.com/aws/en/genie/agent-mode

通常のGenie spaceが1回のSQL生成で回答を返すのに対し、Agent Modeは複数のSQLクエリを組み合わせた多段階の推論(マルチステップ推論) によって、より複雑なビジネス上の問いに答えられます。

2026-04-16_14h10_26

質問1: 商品別の売上ランキング

商品ごとの売上合計を多い順に教えて

Genieが内部でSQLを生成し、結果をテーブルとグラフで返してくれます。回答下のShow codeをクリックすると生成されたSQLを確認できます。

2026-04-16_13h51_42

2026-04-16_13h52_22

質問2: 支払方法の分布

支払方法ごとの取引件数と売上合計を教えて

2026-04-16_13h53_29

質問3: 店舗規模別の平均注文金額

店舗規模(S/M/L/XL/XXL)ごとの平均注文金額を比較して

sales_franchisessizeカラムへのJoinが必要なクエリですが、Join関係を設定しているためGenieが自動的にテーブルをたどって回答してくれます。

2026-04-16_13h54_26

質問4: 大陸別の売上傾向

顧客の大陸別に売上合計を教えて

sales_customerscontinentカラムを使った集計です。sales_transactions → sales_customersのJoinが必要ですが、こちらも設定済みのJoin関係でGenieが自動処理します。

2026-04-16_13h55_15

Genieは会話の文脈を保持しているため、続けてフォローアップ質問もできます。

その中でアジアの売上を国別の内訳で見せて

2026-04-16_13h56_06

質問5: 売上傾向の分析

売上の高い店舗と低い店舗の違いを、店舗規模・所在国・仕入先の観点から分析して

得られた結果から洞察を求める依頼も行ってみます。

結果として、下図のように依頼した内容についてそれぞれデータを集計して結果に対する洞察まで出してくれました。

2026-04-16_14h15_36

2026-04-16_14h15_57

2026-04-16_14h16_14

2026-04-16_14h16_30

回答の右下のDownload PDFを押すことで、PDFでダウンロードも可能です。

2026-04-16_14h16_59

2026-04-16_14h19_48

もし、Genieの回答精度が低い場合はNoをクリックしてフィードバックを送ることで、スペースの継続的な改善につながります。

2026-04-16_13h56_57

4. ベンチマーク機能で精度を確認する

よく使う質問の精度を体系的に評価できるBenchmark機能を試してみます。

BenchmarksタブからAdd benchmarkをクリックし、質問と正解SQLを登録します。

2026-04-16_13h58_24

今回は以下の3つを登録しました。クエリの実行も可能です。(下図は、設定画面の一例です。)

Question Reference SQL
商品ごとの売上合計を多い順に教えて SELECT product, SUM(totalPrice) AS total_sales FROM samples.bakehouse.sales_transactions GROUP BY product ORDER BY total_sales DESC
支払方法ごとの取引件数を教えて SELECT paymentMethod, COUNT(transactionID) AS cnt FROM samples.bakehouse.sales_transactions GROUP BY paymentMethod ORDER BY cnt DESC
店舗規模ごとの平均注文金額を教えて SELECT f.size, AVG(t.totalPrice) AS avg_price FROM samples.bakehouse.sales_transactions t JOIN samples.bakehouse.sales_franchises f ON t.franchiseID = f.franchiseID GROUP BY f.size ORDER BY avg_price DESC

2026-04-16_13h59_55

登録後、Run all benchmarksをクリックすると登録した質問が一括実行され、結果が以下の基準で評価されます。

Status 基準
Good 生成SQLが正解と一致、または結果セットが一致
Bad 空結果・エラー・異なる結果など
Needs review 正解SQLなし、または自動評価できないケース

2026-04-16_14h01_15

2026-04-16_14h04_20

参考:Genie spaceをコードで管理する方法

今回、Genie spaceの設定から全てDatabricksのUI上で行いましたが、Genie APIが提供されており、API経由でメンテナンスすることも可能です。

https://docs.databricks.com/aws/en/genie/conversation-api

参考:外部ツールからGenie spaceに接続する方法

現時点でパブリックプレビューですが、Databricks managed MCP serversが提供されているためこちらを使用することで外部ツールからGenie spaceへ接続可能です。

https://docs.databricks.com/aws/en/generative-ai/mcp/managed-mcp

最後に

samples.bakehouseデータを使って、Genie spaceのKnowledge store設定から実際の質問まで一通り試しました。

Knowledge storeでカラムの説明・同義語・SQL式・Join関係を整備することで、「商品別売上」「店舗規模別の平均注文金額」「大陸別の顧客購買傾向」といった分析を自然言語で引き出せました。

Genie spaceは「どのデータを見ればいいかわからない」「SQLは書けないが深掘りしたい」というビジネスユーザーが自分でデータに触れるための入口として有効です。Knowledge storeの充実度が回答精度に直結するため、まず主要テーブルの説明とSQL式を整備してから使い始めるのが近道だと感じました。

この記事をシェアする

関連記事