やりたいこと
Snowflakeにてセマンティックレイヤーの機能としてセマンティックビューというのが出てきたので試してみる。
セマンティックビューについて
以前にセマンティックモデルという機能がリリースされたが、それのエンハンス版。
以前はYAML形式の定義でCortex Analystからしか使えなかったが、ビューとして保存できセマンティックビューに対してクエリすることが可能となる。BI等からクエリすることもできる。
セマンティックモデルについての記事
触ってみる
セマンティックビューの作成方法
公式ドキュメントを見る限り作成方法には以下のパターンがある
- SQLで作る
- CREATE SEMANTIC VIEWコマンドで作る(セマンティックビュー作成用の構文に従う)
- SYSTEM$CREATE_SEMANTIC_VIEW_FROM_YAMLを呼び出す(YAMLで定義したファイルからセマンティックビューを作る
- Snowsight(WEB UI)で作る
- AIアシスト機能を使う
- YAMLファイルをアップロードする
今回はSnowsightにてAIアシスト機能を使ってみる
セマンティックビュー作成
データセットを作る
以前の記事を参照
書店の売り上げを想定したテストデータセットをつくる
作成画面を開く
ナビゲーション > AI & ML > Studio > Cortex Analyst > Create New > Create new semantic view

各種設定
-
コンテキストを設定する
AIアシスト機能で作成する場合は、サンプルクエリ・テーブルメタデータ・クエリヒストリから自動的にセマンティック情報を収集してくれる
サンプルクエリはオプションだが、自分で設定する必要があるので、筆者ごとや本ごとの集計クエリと質問を登録。
※まだ使えないようだが、選択肢にTableauファイル・Snowflakeダッシュボード/ワークシート・PDF等があった

-
自動生成が終わるまで待つ
-
Playgroundで試す
作られたモデルに対してすぐに質問ができる
回答は英語。生成されたクエリと表形式の実行結果が表示される。
Cortex Analystでは明示的にLLMモデルの選択ができない。
以下3つの要素から自動的に1つまたは複数のモデルが使われる。- 該当アカウントのリージョン内で使用できるモデルはどれか
- クロスリージョン推論の設定をしているか
- モデルレベルのRBACを設定しているか
まとめ
セマンティックの作成のハードルが下がった印象。
YAMLの定義は結構しんどかった。。
まずはAIアシストでさくっと作って、微調整みたいな感じが良さそう。






