Slide 1

Slide 1 text

Snowflakeの生成AI機能を 活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用と Streamlitアプリでの利用〜 鈴木 那由太 データ事業本部

Slide 2

Slide 2 text

目次 2 ● 自己紹介 ● 生成AIで変わるデータ分析 ● Snowflakeの自然言語によるデータ活用 ○ Snowflakeの便利な機能たち ○ Streamlitアプリからの利用 ● 自然言語による分析の深掘り ● まとめ

Slide 3

Slide 3 text

自己紹介 3 ● 部署 ○ データ事業本部 ● 名前 ○ 鈴木 那由太 ● オフィス ○ 大阪オフィス ● 受賞 ○ 2025 Japan AWS Top Engineers (AI/ML Data Engineer) ○ APJ Snowflake Partner Champions AI & ML

Slide 4

Slide 4 text

まとめ 4 ● 生成AI機能を使うことで、エンジニアへ 分析を依頼する際のリードタイムが短縮できる ● Snowflakeでは、いくつかの生成AI機能による分析を、 Streamlitアプリをインターフェースに提供できる ● 分析生成(SQL生成など)は技術的にかなり複雑なため、 データベースもできるだけ分析しやすい形にしておくことが重要。 データカタログなども重要でこれまでの仕組みづくりの延長線上にある。

Slide 5

Slide 5 text

今回紹介する題材 5 SQLが分からなくても、 データベースの中身を 知らなくても、 分析できるようになった!

Slide 6

Slide 6 text

生成AIで変わるデータ分析

Slide 7

Slide 7 text

生成AIで変わるデータ分析 7 生成AIとのチャット形式でデータベース内のデータを分析する取り組みが盛ん ● 自然言語からSQLを作ってくれる ● 自然言語から可視化を作ってくれる ● 自然言語から分析レポートを作ってくれる 各種クラウドサービスでも活発に開発されている ● Snowflake ○ Cortex Analyst・ Cortex Agentsなど ● AWS ○ Amazon Q generative SQLなど ● Google Cloud ○ BigQuery data Canvas、ADK BigQuery tool kitなど 売り上げの推移を ください。 どうぞ

Slide 8

Slide 8 text

嬉しいこと 8 個人的には以下の3つ、特に②が大きい。 ① エンジニアがSQLを考える負荷の軽減 ② エンジニアに依頼するオーバーヘッドの軽減 ③ SQLを知らなくても誰でもデータ分析ができる ※エンジニア=分析向けのSQLを実際に作る人という意味合い

Slide 9

Slide 9 text

エンジニア 嬉しいこと ② エンジニアに依頼するオーバーヘッドの軽減 ちょっと気になるので、 売り上げの推移をください。 順番に対応しますね。 できました! ありがとうございます、 でもこの分析は今回だけで いいかな…。 〜数日後〜 生成AIなし アナリスト アナリストは単発の分析依頼でも数日の待ちが発生してしまう。 エンジニアも分析業務でいっぱいいっぱいに。 アナリスト エンジニア

Slide 10

Slide 10 text

生成AI 嬉しいこと 10 ② エンジニアに依頼するオーバーヘッドの軽減 ちょっと気になるので、 売り上げの推移をください。 有用そうだ! しっかり作ってもらって、 今後も継続して確認したいな。 できました。 分かりました。 手直ししてダッシュボードに 追加しておきますね。 生成AIあり アナリストはざっくりとでも分析を直ぐに実施し結果を得られる。 データエンジニアは重要な分析のブラッシュアップ・システムへの 組み込みに専念できる。余った時間は基盤の改善ができる。 エンジニア アナリスト アナリスト

Slide 11

Slide 11 text

生成AIで変わるデータ分析

Slide 12

Slide 12 text

Snowflakeの自然言語によるデータ活用 12 以下の機能が提供されている。 ● Cortex Analyst ● Cortex Search ● Cortex Agents ● Snowflake Intelligence

Slide 13

Slide 13 text

Snowflake Cortex Analyst 13 ● Snowflakeのデータを自然言語で分析 ● テーブル・ビューがデータソース ● セマンティックモデル(ビュー)に 分析に必要な情報を記載 ● マルチターンの会話も可能 ● REST APIから利用する ▼以下のブログで詳しく紹介しました

Slide 14

Slide 14 text

Snowflake Cortex Search 14 ● Snowflakeのネイティブなデータ検索機能 ● テーブルのクエリ結果を検索対象とする ● SnowflakeのLLMと組み合わせてRAGで カスタマイズしたチャットBotなどを作成 ● REST APIから利用する ▼以下のブログで詳しく紹介しました https://docs.snowflake.com/ja/user-guide/snowflake-cortex/cortex-search/cortex-search-overview

Slide 15

Slide 15 text

Snowflake Cortex Agents 15 ● SnowflakeのAIエージェント機能 ● 現状はパブリックプレビュー中 ● Cortex Search・Cortex Analystを ツールとして利用 ● REST APIから利用する https://www.snowflake.com/en/blog/ai-data-agents-snowflake-cortex/ https://dev.classmethod.jp/articles/tried-snowflake-cortex-agents/

Slide 16

Slide 16 text

Streamlitアプリからの利用 16 上から順に 実行される Cortex Agentsへの リクエスト https://quickstarts.snowflake.com/guide/getting_started_with_cortex_agents/index.html#0

Slide 17

Slide 17 text

Streamlitアプリからの利用 17 Cortex Search Streamlit in Snowflake ソースデータ LLM 取り込み ユーザー 質問 回答 検索 検索結果 質問 + 検索結果 回答 Cortex SearchによるRAGチャットアプリ

Slide 18

Slide 18 text

Streamlitアプリからの利用 18 Cortex Analyst Streamlit in Snowflake ユーザー 質問 表示 リクエスト SQL ソースデータ 実行 データ Cortex Analystによる分析アプリ

Slide 19

Slide 19 text

Streamlitアプリからの利用 19 Cortex Agents Streamlit in Snowflake ユーザー 質問 回答 リクエスト 回答 Cortex Search Cortex Analyst ツール Cortex Agentsによるチャットアプリ

Slide 20

Slide 20 text

Snowflake Intelligence(パブリックプレビュー) 20 https://www.snowflake.com/en/blog/intelligence-snowflake-summit-2025/ ● 自然言語に対して分析結果の解説や グラフの作成まで可能 ● 自アカウントのCortex Agentsを 利用できる ● 作図を行なってくれる点が大きな差

Slide 21

Slide 21 text

コスト面 21 ● Cortex Analystは1000メッセージで67クレジット ● Cortex Searchはデータ量の課金(6.3クレジット per GB/月)が 主だがそのた要素も加わる

Slide 22

Slide 22 text

自然言語による分析の深掘り

Slide 23

Slide 23 text

Text-to-SQLのプロンプト例 23 動的にSQLを生成させる場合は、 DDLをプロンプトに入れる。 メタデータ・リレーションなども含めて、 より単発の精度を高くする。 ※ https://arxiv.org/pdf/2305.12586 より

Slide 24

Slide 24 text

LLM (Snowflake Cortex) 24 https://docs.snowflake.com/user-guide/snowflake-cortex/aisql ● Cross-RegionだがClaudeも利用できる

Slide 25

Slide 25 text

Cortex Analystの仕組み 25 スキーマやメタデータをセマンティックモデルで取り込んでいる。 複数エージェントで生成した回答の合成、会話履歴による質問の補完など、 精度の高いSQL生成のため、技術的にかなり高度かつ複合的な仕組みになっている。 https://www.snowflake.com/en/engineering-blog/cortex-analyst-multi-turn-conversations-support/

Slide 26

Slide 26 text

Cortex Analystに学ぶ精度向上のポイント 26 Cortex Analystのセマンティックモデルでは、ハードリミットではないが、 精度向上のため以下が推奨されている。 • テーブルは10個まで • カラムは50個まで → 一つ作れば全テーブルの分析ができるわけではなく適切な設計が必要 SQLを作りやすいテーブル定義・データベース設計にしておく必要がある。 メタデータや用語なども入れられるように仕組みを用意しておく。

Slide 27

Slide 27 text

自然言語による分析のためのポイント 27 分析内容ができるだけ簡単なSQL文で表現できるよう、データを設計する。 データ分析基盤全体で仕組み作り・使いやすさ向上が結局は重要。 メタデータやビジネス用語を管理するためのデータカタログも必要。 https://classmethod.jp/services/data-aws-snowflake/

Slide 28

Slide 28 text

まとめ 28 ● 生成AI機能を使うことで、エンジニアへ 分析を依頼する際のリードタイムが短縮できる ● Snowflakeでは、いくつかの生成AI機能による分析を、 Streamlitアプリをインターフェースに提供できる ● 分析生成(SQL生成など)は技術的にかなり複雑なため、 データベースもできるだけ分析しやすい形にしておくことが重要。 データカタログなども重要でこれまでの仕組みづくりの延長線上にある。

Slide 29

Slide 29 text

No content