Slide 1

Slide 1 text

関西弁で答えるチャットボットを Snowflake×Streamlitで作ろう 株式会社 truestar 2025 truestar inc. All Rights Reserved. 1 Snowflake WESTユーザー会 2025/5/21

Slide 2

Slide 2 text

2 アジェンダ 2025 truestar inc. All Rights Reserved. • はじめに • ハンズオン 1. 環境設定 2. Marketplaceから飲食店データ取得 3. セマンティックモデルを作成 4. Streamlitで画面を作成 オプション:チューニングしてみよう! • さいごに

Slide 3

Slide 3 text

はじめに 2025 truestar inc. All Rights Reserved. 3

Slide 4

Slide 4 text

4 はじめに | 自己紹介 2025 truestar inc. All Rights Reserved. 名前:石川 旺 Hikari Ishikawa 所属:株式会社truestar Data Science & Analytics Group 入社:2022年7月 Snowflake歴:10ヶ月 X:@skilluphii

Slide 5

Slide 5 text

5 はじめに | サポート3名の紹介 2025 truestar inc. All Rights Reserved. 残間 大地 藤原 理香 奥津 誌朗

Slide 6

Slide 6 text

6 はじめに | アプリデモ 2025 truestar inc. All Rights Reserved.

Slide 7

Slide 7 text

2025 truestar inc. All Rights Reserved. 7 はじめに | アプリ全体像 飲食店データを取得 セマンティックモデルを 介してデータを参照 COMPLETE関数 YAML

Slide 8

Slide 8 text

8 はじめに | ハンズオンを通じて学べること 2025 truestar inc. All Rights Reserved. Marketplaceからデータを取得 YAML Cortex Analystの使い方 Streamlitでのアプリ作成 • Marketplaceでは他では入手できな いユニークなデータセットやアプ リなどにアクセス可能 • truestarが掲載している大阪市中央 区の飲食店データを取得 • Cortex Analystは、自然言語の質 問をSQLクエリに変換する機能 • セマンティックモデルの作成方法 と、Streamlit での利用方法を紹介 • SiSを利用することで、データやア プリケーションコードを外部シス テムに移動する必要なし! • Streamlitで大阪のおばちゃんと生 み出す仕組みを紹介

Slide 9

Slide 9 text

2025 truestar inc. All Rights Reserved. 9 はじめに | なぜSnowflake? 飲食店データを取得 セマンティックモデルを 介してデータを参照 COMPLETE関数 YAML データ取得~アプリ構築まで、すべてSnowflake内で完結!!!

Slide 10

Slide 10 text

ブログ:ハンズオンで利用するコードを掲載 コピー&ペースト: 本資料:ハンズオンの手順や解説を記載 ハンズオン手順: 解説ページ: 10 はじめに | 資料の説明 2025 truestar inc. All Rights Reserved. 「truestar ブログ」 で検索

Slide 11

Slide 11 text

1.環境設定 2025 truestar inc. All Rights Reserved. 11

Slide 12

Slide 12 text

2025 truestar inc. All Rights Reserved. 12 1.環境設定 | 完了後のイメージ 飲食店データを取得 セマンティックモデルを 介してデータを参照 COMPLETE関数 YAML

Slide 13

Slide 13 text

2025 truestar inc. All Rights Reserved. 13 1.環境設定 | 実施内容 1. Snowflake無料トライアル環境作成 2. 言語設定 3. データベース・スキーマ作成 4. ステージ作成 5. 結果確認 6. ディレクトリテーブルを有効化する

Slide 14

Slide 14 text

2025 truestar inc. All Rights Reserved. 14 無料トライアルの申し込みページに遷移する 1.環境設定 | 1.Snowflake無料トライアル環境作成 「Snowflake トライアル」 で検索!

Slide 15

Slide 15 text

2025 truestar inc. All Rights Reserved. 15 必要事項を記載し、「はじめる」をクリック 1.環境設定 | 1. Snowflake無料トライアル環境作成 Snowflake Edition:Enterprise(最も人気) クラウドプロバイダー:AWS 地域:Asia Pacific(Tokyo) ※上記と異なるものを選択すると、ハンズオン内で扱っている機能 を利用できない可能性がありますのでご注意ください。

Slide 16

Slide 16 text

2025 truestar inc. All Rights Reserved. 16 アンケートに回答し、「送信」をクリック 1.環境設定 | 1. Snowflake無料トライアル環境作成

Slide 17

Slide 17 text

2025 truestar inc. All Rights Reserved. 17 メールを確認し、「CLICK TO ACTIVATE」をクリック 1.環境設定 | 1. Snowflake無料トライアル環境作成

Slide 18

Slide 18 text

2025 truestar inc. All Rights Reserved. 18 ユーザー名とパスワードを設定し、「はじめる」をクリック 1.環境設定 | 1. Snowflake無料トライアル環境作成

Slide 19

Slide 19 text

2025 truestar inc. All Rights Reserved. 19 トライアル環境の作成完了! 1.環境設定 | 1. Snowflake無料トライアル環境作成

Slide 20

Slide 20 text

2025 truestar inc. All Rights Reserved. 20 「My profile」をクリック、「Language」で「日本語」を選択し、「Save」 1.環境設定 | 2.言語設定

Slide 21

Slide 21 text

2025 truestar inc. All Rights Reserved. 21 テーブルやStreamlitアプリを保存する場所を作成する 1.環境設定 | 3.データベース・スキーマ作成

Slide 22

Slide 22 text

2025 truestar inc. All Rights Reserved. 22 プロジェクト > ワークシートに遷移し、「+」をクリック 1.環境設定 | 3.データベース・スキーマ作成

Slide 23

Slide 23 text

2025 truestar inc. All Rights Reserved. 23 ブログ1-3・4のコードをワークシートに貼り付け、 「1.環境設定 | 3.データベース・スキーマ作成」のコードを選択し、 Ctrl+Enter または「 」を押す 1.環境設定 | 3.データベース・スキーマ作成

Slide 24

Slide 24 text

2025 truestar inc. All Rights Reserved. 24 ファイルを保存する場所を作成する 1.環境設定 | 4.ステージ作成

Slide 25

Slide 25 text

2025 truestar inc. All Rights Reserved. 25 「1.環境設定 | 4.ステージ作成」のコードを選択し、 Ctrl+Enter または「 」を押す 1.環境設定 | 4.ステージ作成

Slide 26

Slide 26 text

2025 truestar inc. All Rights Reserved. 26 1.環境設定 | 5.結果の確認 データベース・スキーマ・ステージが作成されていることを確認

Slide 27

Slide 27 text

2025 truestar inc. All Rights Reserved. 27 1.環境設定 | 6.ディレクトリテーブルを有効化する ステージ「SEMANTIC_MODEL」で「ディレクトリテーブルを有効化」 をクリック

Slide 28

Slide 28 text

2025 truestar inc. All Rights Reserved. 28 1.環境設定 | 完了! 飲食店データを取得 セマンティックモデルを 介してデータを参照 COMPLETE関数 YAML

Slide 29

Slide 29 text

2.Marketplaceから飲食店データ取得 2025 truestar inc. All Rights Reserved. 29

Slide 30

Slide 30 text

2025 truestar inc. All Rights Reserved. 30 2.Marketplaceからの飲食店データ取得 | 完了後のイメージ 飲食店データを取得 セマンティックモデルを 介してデータを参照 COMPLETE関数 YAML

Slide 31

Slide 31 text

2025 truestar inc. All Rights Reserved. 31 2. Marketplaceからの飲食店データ取得 | 実施内容 1. Marketplaceで検索 2. データ製品を選択 3. データを取得 4. 取得結果を確認

Slide 32

Slide 32 text

2025 truestar inc. All Rights Reserved. 32 2. Marketplaceからの飲食店データ取得 | 1.Marketplaceで検索 データ製品 > Marketplace に遷移し、「飲食店」と検索

Slide 33

Slide 33 text

2025 truestar inc. All Rights Reserved. 33 2. Marketplaceからの飲食店データ取得 | 2.データ製品を選択 「Food Establishments Data Set in Japan」をクリック

Slide 34

Slide 34 text

2025 truestar inc. All Rights Reserved. 34 2. Marketplaceからの飲食店データ取得 | 3.データを取得 「取得」をクリック

Slide 35

Slide 35 text

2025 truestar inc. All Rights Reserved. 35 2. Marketplaceからの飲食店データ取得 | 3.データを取得 「トライアルを開始」を選択し、「取得」をクリック 「完了」をクリック

Slide 36

Slide 36 text

2025 truestar inc. All Rights Reserved. 36 2. Marketplaceからの飲食店データ取得 | 4.取得結果を確認 データベースが追加され、大阪市中央区の飲食店データが追加されていること を確認

Slide 37

Slide 37 text

2025 truestar inc. All Rights Reserved. 37 2. Marketplaceからの飲食店データ取得 | 完了! 飲食店データを取得 セマンティックモデルを 介してデータを参照 COMPLETE関数 YAML

Slide 38

Slide 38 text

3.セマンティックモデルを作成 2025 truestar inc. All Rights Reserved. 38

Slide 39

Slide 39 text

2025 truestar inc. All Rights Reserved. 39 飲食店データを取得 セマンティックモデルを 介してデータを参照 COMPLETE関数 YAML 3.セマンティックモデルを作成 | 完了後のイメージ

Slide 40

Slide 40 text

2025 truestar inc. All Rights Reserved. 40 3.セマンティックモデルを作成 | 実施内容 1. Cortex分析に遷移 2. 作成先のデータベース・スキーマを選 3. 作成先のステージを選択・名前を設定 4. 参照するテーブルを選択 5. 参照する列を選択 6. セマンティックモデルエディターを開く 7. YAMLエディタを開く 8. コードを張り付ける

Slide 41

Slide 41 text

2025 truestar inc. All Rights Reserved. 41 3.セマンティックモデルを作成 | セマンティックモデルとは? 自然言語での質問をシステムが正確に理解し、適切な回答を提供できるようにする技術 セマンティックモデル YAML 先月の顧客ごとの売上を 教えて 顧客:Customer Customer ○○○ Aさん … Bさん … SnowflakeではCortex分析(Cortex Analyst)が この役割を果たしている

Slide 42

Slide 42 text

2025 truestar inc. All Rights Reserved. 42 3.セマンティックモデルを作成 | セマンティックモデルとは? YAML カラムの説明を入れたり、 同義語を入れたり、 値のサンプルを入力して、 テーブルの構造を教えてあげる役割を果たす

Slide 43

Slide 43 text

2025 truestar inc. All Rights Reserved. 43 3.セマンティックモデルを作成 | 1.Cortex分析に遷移 AIとML> Studio に遷移し、「Cortex分析」の「 試す」をクリック

Slide 44

Slide 44 text

2025 truestar inc. All Rights Reserved. 44 3.セマンティックモデルを作成 | 2.作成先のデータベース・スキーマを選択 セマンティックモデルを格納するデータベース・スキーマを選択し、 「+新規作成」をクリック 作成元:ステージ データベース:SNOWVILLAGE_WEST_DEMO スキーマ:KANSAI_OBACHAN_APP

Slide 45

Slide 45 text

2025 truestar inc. All Rights Reserved. 45 3.セマンティックモデルを作成 | 3.作成先のステージを選択・名前を設定 ステージ:SEMANTIC_MODEL 名前: OSAKA_RESTAURANT_INFO 下記に記載の通り、ステージを選択し、名前を入力 「次へ:Select tables」をクリック

Slide 46

Slide 46 text

2025 truestar inc. All Rights Reserved. 46 3.セマンティックモデルを作成 | 4.参照するテーブルを選択 FOOD_ESTABLISHMENTS_DATA_SET_IN_JAPAN > MART > 「FOOD_SAMPLE_OSAKA_CHUO」を選択し、「 次へ:列を選択」をクリック

Slide 47

Slide 47 text

2025 truestar inc. All Rights Reserved. 47 3.セマンティックモデルを作成 | 5.参照する列を選択 「 FOOD_ESTABLISHMENTS_DATA_SET_IN_JAPAN.MART.FOOD_SAMPLE_O SAKA_CHUO 」に を入れ、「作成して保存」をクリック

Slide 48

Slide 48 text

2025 truestar inc. All Rights Reserved. 48 3.セマンティックモデルを作成 | 6.セマンティックモデルエディターを開く エディターが開く 共有テーブルで新規作成する際に発生するエラー 後続の操作には影響ないため、気にせず進めます。 一般テーブルではエラーは出ない。

Slide 49

Slide 49 text

2025 truestar inc. All Rights Reserved. 49 3.セマンティックモデルを作成 | 7.YAMLエディタを開く 「<>YAMLを編集」をクリック

Slide 50

Slide 50 text

2025 truestar inc. All Rights Reserved. 50 3.セマンティックモデルを作成 | 8.コードを張り付ける デフォルトのコードを削除し、ブログ3-8のコードを張り付け、 「保存」をクリック

Slide 51

Slide 51 text

2025 truestar inc. All Rights Reserved. 51 飲食店データを取得 セマンティックモデルを 介してデータを参照 COMPLETE関数 YAML 3.セマンティックモデルを作成 | 完了!

Slide 52

Slide 52 text

4.Streamlitで画面を作成 2025 truestar inc. All Rights Reserved. 52

Slide 53

Slide 53 text

2025 truestar inc. All Rights Reserved. 53 飲食店データを取得 セマンティックモデルを 介してデータを参照 COMPLETE関数 YAML 4.Streamlitで画面を作成 | 完了後のイメージ

Slide 54

Slide 54 text

2025 truestar inc. All Rights Reserved. 54 4. Streamlitで画面を作成 | 実施内容 1. Streamlitアプリを作成 2. アプリタイトル・場所を設定 3. Pythonのライブラリを追加 4. Pythonコードを張り付け

Slide 55

Slide 55 text

2025 truestar inc. All Rights Reserved. 55 4. Streamlitで画面を作成 | 1.Streamlitアプリを作成 プロジェクト > Streamlit へ遷移し、「+Streamlitアプリ」をクリック

Slide 56

Slide 56 text

2025 truestar inc. All Rights Reserved. 56 4. Streamlitで画面を作成 | 2.アプリタイトル・場所を設定 下記の通り設定し、「作成」をクリック アプリタイトル:任意の名前 アプリの場所: データベース:SNOWVILLAGE_WEST_DEMO スキーマ:KANSAI_OBACHAN_APP アプリウェアハウス:COMPUTE_WH

Slide 57

Slide 57 text

2025 truestar inc. All Rights Reserved. 57 4. Streamlitで画面を作成 | 3.Pythonのライブラリを追加 パッケージ > Anaconda パッケージで、下記2つのパッケージを追加する 下記の2つを追加しバージョンを修正する • Pandas 2.2.3 • snowflake-ml-python 1.8.0

Slide 58

Slide 58 text

2025 truestar inc. All Rights Reserved. 58 4. Streamlitで画面を作成 | 4.Pythonコードを張り付け デフォルトのコードを削除し、ブログ4-4のコードを張り付け、 「 実行」をクリック

Slide 59

Slide 59 text

2025 truestar inc. All Rights Reserved. 59 4. Streamlitで画面を作成 | 完了!

Slide 60

Slide 60 text

2025 truestar inc. All Rights Reserved. 60 4. Streamlitで画面を作成 | Cortex Analystとおばちゃんの組み合わせ Step1 セマンティックモデルを参照し、 質問の回答となるSQLとその実行結果を生成 Step2 Step1で作成したデータフレームと 質問文を参照し、表示する回答文を生成 YAML COMPLETE関数

Slide 61

Slide 61 text

2025 truestar inc. All Rights Reserved. 61 4. Streamlitで画面を作成 | Cortex Analystとおばちゃんの組み合わせ ←ユーザーの質問文 ↓セマンティックモデルこれ使ってね ←モデルへ送信! ←モデルから返ってきた回答 YAML Step1 セマンティックモデルを参照し、 質問の回答となるSQLとその実行結果を生成

Slide 62

Slide 62 text

2025 truestar inc. All Rights Reserved. 62 4. Streamlitで画面を作成 | Cortex Analystとおばちゃんの組み合わせ Step2 Step1で作成したデータフレームと 質問文を参照し、表示する回答文を生成 COMPLETE関数

Slide 63

Slide 63 text

2025 truestar inc. All Rights Reserved. 63 飲食店データを取得 セマンティックモデルを 介してデータを参照 COMPLETE関数 YAML 4.Streamlitで画面を作成 | 完成!

Slide 64

Slide 64 text

オプション:チューニングしてみよう! 2025 truestar inc. All Rights Reserved. 64

Slide 65

Slide 65 text

2025 truestar inc. All Rights Reserved. 65 1. おばちゃんのキャラクターを変えてみる 2. 利用するモデルを変えてみる 3. セマンティックモデルを調整してみる チューニングしてみよう! | チューニングポイント

Slide 66

Slide 66 text

2025 truestar inc. All Rights Reserved. 66 指示文を編集して、 キャラクターをカスタマイズしてみましょう! • おしとやかなおばちゃんにしてみたり。 • ヤンキーにしたり。 • 京都弁、広島弁にしてみたり。 チューニングしてみよう! | 1.おばちゃんのキャラクターを変えてみる

Slide 67

Slide 67 text

2025 truestar inc. All Rights Reserved. 67 チューニングしてみよう! | 2.利用するモデルを変えてみる 選んだモデルによって、精度が異なるのでいろいろ試してみましょう! 利用できるモデルはこちらを参照 ※ここで選択するモデルはCOMPLETE関数のモデルであって、Cortex Analystではありません。

Slide 68

Slide 68 text

2025 truestar inc. All Rights Reserved. 68 チューニングしてみよう! | 3.セマンティックモデルを調整してみる セマンティックモデルを調整し、 モデルが参照しているテーブルを理解しやす いようにしましょう。 ユーザーが質問する内容を想像して、 必要そうな情報を入れておくとよい。

Slide 69

Slide 69 text

2025 truestar inc. All Rights Reserved. 69 チューニングしてみよう! | 3.セマンティックモデルを調整してみる 保存済みのセマンティックモデルを編集した い場合、対象のセマンティックモデルを選択 し「開く」をクリック

Slide 70

Slide 70 text

さいごに 2025 truestar inc. All Rights Reserved. 70

Slide 71

Slide 71 text

2025 truestar inc. All Rights Reserved. 71 さいごに | truestarからのお知らせ ぜひ、フォローをお願いいたします!

Slide 72

Slide 72 text

おおきに! 2025 truestar inc. All Rights Reserved. 72