Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【大阪開催】関西弁チャットボットを作って体感!初心者から学べるStreamlit×Snowfl...

Avatar for truestar truestar
May 18, 2025
210

【大阪開催】関西弁チャットボットを作って体感!初心者から学べるStreamlit×Snowflake活用&事例セッション【Snonwflake WESTユーザー会】

Avatar for truestar

truestar

May 18, 2025
Tweet

Transcript

  1. 2 アジェンダ 2025 truestar inc. All Rights Reserved. • はじめに

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

    名前:石川 旺 Hikari Ishikawa 所属:株式会社truestar Data Science & Analytics Group 入社:2022年7月 Snowflake歴:10ヶ月 X:@skilluphii
  3. 2025 truestar inc. All Rights Reserved. 7 はじめに | アプリ全体像

    飲食店データを取得 セマンティックモデルを 介してデータを参照 COMPLETE関数 YAML
  4. 8 はじめに | ハンズオンを通じて学べること 2025 truestar inc. All Rights Reserved.

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

    飲食店データを取得 セマンティックモデルを 介してデータを参照 COMPLETE関数 YAML データ取得~アプリ構築まで、すべてSnowflake内で完結!!!
  6. 2025 truestar inc. All Rights Reserved. 12 1.環境設定 | 完了後のイメージ

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

    1. Snowflake無料トライアル環境作成 2. 言語設定 3. データベース・スキーマ作成 4. ステージ作成 5. 結果確認 6. ディレクトリテーブルを有効化する
  8. 2025 truestar inc. All Rights Reserved. 14 無料トライアルの申し込みページに遷移する 1.環境設定 |

    1.Snowflake無料トライアル環境作成 「Snowflake トライアル」 で検索!
  9. 2025 truestar inc. All Rights Reserved. 15 必要事項を記載し、「はじめる」をクリック 1.環境設定 |

    1. Snowflake無料トライアル環境作成 Snowflake Edition:Enterprise(最も人気) クラウドプロバイダー:AWS 地域:Asia Pacific(Tokyo) ※上記と異なるものを選択すると、ハンズオン内で扱っている機能 を利用できない可能性がありますのでご注意ください。
  10. 2025 truestar inc. All Rights Reserved. 23 ブログ1-3・4のコードをワークシートに貼り付け、 「1.環境設定 |

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

    Ctrl+Enter または「 」を押す 1.環境設定 | 4.ステージ作成
  12. 2025 truestar inc. All Rights Reserved. 26 1.環境設定 | 5.結果の確認

    データベース・スキーマ・ステージが作成されていることを確認
  13. 2025 truestar inc. All Rights Reserved. 27 1.環境設定 | 6.ディレクトリテーブルを有効化する

    ステージ「SEMANTIC_MODEL」で「ディレクトリテーブルを有効化」 をクリック
  14. 2025 truestar inc. All Rights Reserved. 28 1.環境設定 | 完了!

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

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

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

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

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

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

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

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

    COMPLETE関数 YAML 3.セマンティックモデルを作成 | 完了後のイメージ
  23. 2025 truestar inc. All Rights Reserved. 40 3.セマンティックモデルを作成 | 実施内容

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

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

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

    AIとML> Studio に遷移し、「Cortex分析」の「 試す」をクリック
  27. 2025 truestar inc. All Rights Reserved. 44 3.セマンティックモデルを作成 | 2.作成先のデータベース・スキーマを選択

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

    ステージ:SEMANTIC_MODEL 名前: OSAKA_RESTAURANT_INFO 下記に記載の通り、ステージを選択し、名前を入力 「次へ:Select tables」をクリック
  29. 2025 truestar inc. All Rights Reserved. 46 3.セマンティックモデルを作成 | 4.参照するテーブルを選択

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

    「 FOOD_ESTABLISHMENTS_DATA_SET_IN_JAPAN.MART.FOOD_SAMPLE_O SAKA_CHUO 」に を入れ、「作成して保存」をクリック
  31. 2025 truestar inc. All Rights Reserved. 48 3.セマンティックモデルを作成 | 6.セマンティックモデルエディターを開く

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

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

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

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

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

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

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

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

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

    Cortex Analystとおばちゃんの組み合わせ Step2 Step1で作成したデータフレームと 質問文を参照し、表示する回答文を生成 COMPLETE関数
  41. 2025 truestar inc. All Rights Reserved. 65 1. おばちゃんのキャラクターを変えてみる 2.

    利用するモデルを変えてみる 3. セマンティックモデルを調整してみる チューニングしてみよう! | チューニングポイント
  42. 2025 truestar inc. All Rights Reserved. 66 指示文を編集して、 キャラクターをカスタマイズしてみましょう! •

    おしとやかなおばちゃんにしてみたり。 • ヤンキーにしたり。 • 京都弁、広島弁にしてみたり。 チューニングしてみよう! | 1.おばちゃんのキャラクターを変えてみる
  43. 2025 truestar inc. All Rights Reserved. 67 チューニングしてみよう! | 2.利用するモデルを変えてみる

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

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

    保存済みのセマンティックモデルを編集した い場合、対象のセマンティックモデルを選択 し「開く」をクリック