🚀

Cortex Analyst用のSemantic Modelを触ってみた

に公開

はじめに

こんにちは。電通総研の中村です。
今回はCortex AnalystのためのSemantic Modelを用いて、Text-to-SQLでのデータ分析を行いました。
この記事では、私がsemantic-model-generatorを使用してデータ分析を行った方法を共有します。

Snowflake Cortex Analyst とは

Cortex Analystは、Snowflakeが提供するデータ分析ツールで、特に自然言語処理(NLP)を活用してデータにアクセスすることを可能にします。従来のBIツールでは、複雑なクエリを作成する必要がありましたが、Cortex Analystではユーザーが自然言語で質問を入力するだけで、必要な情報をクエリと共に取得できます。

実施した内容

概要

ジェネレーターアプリをセットアップし、Snowflakeデータからセマンティックモデルを生成します。

セマンティックモデルジェネレーターは、Snowflake Cortex Analystのセマンティックモデルを生成・管理するためのオープンソースツールです。

このツールはStreamlitアプリケーションとして生成され、SnowflakeのStreamlitまたはオープンソースのStreamlitでローカルに起動することができます。
今回はSnowflake上Streamlitにてセマンティックモデルジェネレーターを起動します。

セマンティックファイルジェネレーターのセットアップ

まず、Snowflake-Labsのsemantic-model-generatorリポジトリをクローンしました。
次に、SnowflakeのStreamlitでアプリをデプロイするために、Snowflake CLIのインストールを行います。インストールは次のページから実行します。

https://docs.snowflake.com/ja/developer-guide/snowflake-cli/installation/installation

インストールが完了後に自身のSnowflakeアカウントとのコネクションを作成します。
そのためにC:\AppData\Local\Snowflakeにあるconfig.tomlファイルから設定を変更が必要です。

[connections.CortexConnection]
account = "ABCDEF-GH12345"
user = ""
password = ""
database = "SNOWFLAKE_SAMPLE_DATA"
schema = "TPCH_SF1"
warehouse = "COMPUTE_WH"
role = ""

https://docs.snowflake.com/ja/developer-guide/snowflake-cli/connecting/configure-cli

Snowflakeアカウントとの接続が完了後に、下記のコマンドをターミナルで実行することでSemantic generatorを起動することができます。

snow sql -f sis_setup/app_setup.sql
snow streamlit get-url SEMANTIC_MODEL_GENERATOR --open --database cortex_analyst_semantics --schema semantic_model_generator

セマンティックモデルの生成

Create a new Semantic Modelを押すことでセマンティックモデルを作成します。
次に下図のようにモデル名、データベース、スキーマ、テーブルを入力を行います。
また、今回のデータはSnowflakeにあるサンプルデータを利用します。

Text-to-SQLでデータ分析を試す

yamlファイルとTextの入力画面が生成されるのでVaildationボタンを押して検証します。

チャットでテーブルの内容を知ることができます。
例として簡単な情報取得を行いました。

まとめ

今回はSemanticModel Generatorを使用して、簡単にCortex Analyst用のSemantic Modelを使用できました。今後は様々なデータセットを用いてCortex Analystの使い方を学んでいきます。

電通総研 データテックブログ

Discussion