エージェント メタデータ (セマンティック メタデータとも呼ばれます) は、メトリックにビジネス コンテキストを提供する表示名、形式仕様、シノニムを提供することで、データの視覚化を強化し、大規模言語モデル (LLM) の精度を向上させます。 このメタデータは、視覚化ツールや Genie スペース などの自然言語ツールが、データをより効果的に解釈して操作するのに役立ちます。
注
Databricks Runtime 17.3 と YAML バージョン 1.1 が必要です。 バージョン要件を参照してください。
エージェント メタデータとは
エージェント メタデータには、追加のコンテキストを提供する表示名、書式指定、シノニムが含まれます。 このメタデータは、AI/BI ダッシュボードなどの視覚化ツールや、 Genie スペースなどの自然言語ツールで、データをより効果的に解釈して操作するのに役立ちます。 エージェント メタデータは、メトリック ビューの YAML 定義で定義されます。
注
仕様バージョン 1.1 でメトリック ビューを作成または変更すると、YAML 定義内の 1 行のコメント ( #で示されます) は、定義の保存時に削除されます。 既存の YAML 定義をアップグレードするときのオプションと推奨事項については、「 YAML を 1.1 にアップグレードする」を参照してください。
このページの例では、TPC-H サンプル データセット (samples.tpch.orders) を使用します。このデータセットは、 Unity カタログ データセットで既定で使用できます。 TPC-H データセットは、注文、顧客、サプライヤー、およびパーツのテーブルを含む卸売サプライ チェーンをモデル化します。
orders テーブルの列名では、o_ プレフィックス (たとえば、注文日のo_orderdate、合計価格のo_totalprice) が使用されます。 TPC-H スキーマとデータ モデルの詳細については、「 チュートリアル: 結合を使用して完全なメトリック ビューを構築する」を参照してください。
表示名
表示名は、技術的な列名ではなく、視覚化ツールに人間が判読できるラベルとして表示されます。 表示名は 255 文字に制限されています。
次の例は、 order_date ディメンションで定義された表示名 (注文が行われた時点の追跡) とメジャー total_revenue (すべての注文価格の合計を計算する) を示しています。
version: 1.1
source: samples.tpch.orders
dimensions:
- name: order_date
expr: o_orderdate
display_name: 'Order Date'
measures:
- name: total_revenue
expr: SUM(o_totalprice)
display_name: 'Total Revenue'
Synonyms
類義語は、 Genie などの LLM ツールで、代替名を指定してユーザー入力を通じてディメンションとメジャーを検出するのに役立ちます。 ブロック スタイルまたはフロー スタイル YAML を使用してシノニムを定義できます。 各ディメンションまたはメジャーには、最大 10 個のシノニムを含めることができます。 各シノニムは 255 文字に制限されています。
次の例は、 order_date ディメンションで定義されたシノニム (注文が行われた時点) と total_revenue メジャー (すべての注文価格の合計) を示しています。 シノニムを活用すると、ユーザーは「注文時間ごとの収益を表示して」や「注文日の総売上は何ですか」といった自然言語の表現で質問することができます。
version: 1.1
source: samples.tpch.orders
dimensions:
- name: order_date
expr: o_orderdate
# block style
synonyms:
- 'order time'
- 'date of order'
measures:
- name: total_revenue
expr: SUM(o_totalprice)
# flow style
synonyms: ['revenue', 'total sales']
書式の仕様
書式指定は、視覚化ツールでの値の表示方法を定義します。 次の表に、サポートされている形式の種類と例を示します。
数値形式
| 書式の種類 | 必須オプション | 省略可能なオプション |
|---|---|---|
| 数値: 省略可能な小数点以下の桁数と省略形のオプションを持つ一般的な数値には、プレーンな数値形式を使用します。 | type: number |
|
| 通貨: ISO-4217 通貨コードで通貨値に通貨形式を使用します。 | type: currency |
|
| パーセンテージ: パーセンテージで表される比率の値にはパーセント形式を使用します。 | type: percentage |
|
| バイト: 適切なバイト単位 (KB、MB、GB など) で表示されるデータ サイズ値にはバイト形式を使用します。 | type: byte |
|
数値書式の例
番号
format:
type: number
decimal_places:
type: max
places: 2
hide_group_separator: false
abbreviation: compact
通貨
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
hide_group_separator: false
abbreviation: compact
パーセンテージ
format:
type: percentage
decimal_places:
type: all
hide_group_separator: true
Byte
format:
type: byte
decimal_places:
type: max
places: 2
hide_group_separator: false
日付と時刻の形式
次の表では、日付と時刻の形式を操作する方法について説明します。
| 書式の種類 | 必須オプション | 省略可能なオプション |
|---|---|---|
| 日付: さまざまな表示オプションを持つ日付値に日付形式を使用します。 |
|
|
| DateTime: 日付と時刻を組み合わせたタイムスタンプ値には datetime 形式を使用します。 |
|
|
注
date_time型を使用する場合は、少なくとも 1 つのdate_formatまたはtime_formatで、no_dateまたはno_time以外の値を指定する必要があります。
Datetime の書式設定の例
日付
format:
type: date
date_format: year_month_day
leading_zeros: true
日時
format:
type: date_time
date_format: year_month_day
time_format: locale_hour_minute_second
leading_zeros: false
ダウンストリーム ツールの統合
セマンティック メタデータは、メトリック ビューを使用するダウンストリーム ツールを自動的に設定します。
- AI/BI ダッシュボード: ダッシュボードの読みやすさを向上させるために、ダッシュボードのデータセットと視覚化に表示名と形式の仕様が自動的に設定されます。
- Genie スペース: 類義語は自動的にインポートされ、Genie はメトリック ビューから使用可能なディメンションとメジャーをより適切に検出して理解するのに役立ちます。
完全なコード例
次の例は、販売実績を追跡し、すべてのエージェント メタデータの種類を含むメトリック ビュー定義を示しています。 メトリック ビューでは、注文データを分析して収益メトリックを計算し、注文値で顧客をセグメント化し、注文量を追跡します。
顧客セグメントは次のように定義されます。
- エンタープライズ: 100,000 ドルを超える注文
- 中央市場: 10,000 ドルから 100,000 ドルまでの注文
- 中小企業:10,000ドル以下の注文
メタデータは、"顧客セグメント別の売上合計を表示する" や "注文ごとの平均収益" などの自然言語クエリをサポートします。
version: 1.1
source: samples.tpch.orders
comment: Comprehensive sales metrics with enhanced semantic metadata
dimensions:
- name: order_date
expr: o_orderdate
comment: Date when the order was placed
display_name: Order Date
format:
type: date
date_format: year_month_day
leading_zeros: true
synonyms:
- order time
- date of order
- name: customer_segment
expr: |
CASE
WHEN o_totalprice > 100000 THEN 'Enterprise'
WHEN o_totalprice > 10000 THEN 'Mid-market'
ELSE 'SMB'
END
comment: Customer classification based on order value
display_name: Customer Segment
synonyms:
- segment
- customer tier
measures:
- name: total_revenue
expr: SUM(o_totalprice)
comment: Total revenue from all orders
display_name: Total Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
hide_group_separator: false
abbreviation: compact
synonyms:
- revenue
- total sales
- sales amount
- name: order_count
expr: COUNT(1)
comment: Total number of orders
display_name: Order Count
format:
type: number
decimal_places:
type: all
hide_group_separator: true
synonyms:
- count
- number of orders
- name: avg_order_value
expr: SUM(o_totalprice) / COUNT(1)
comment: Average revenue per order
display_name: Average Order Value
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
synonyms:
- aov
- average revenue