Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Snowflake Cortex LLM関数のいろんなモデルを試せるチャットボットを作ってみた
Search
fkd
January 01, 2025
0
12
Snowflake Cortex LLM関数の いろんなモデルを試せる チャットボットを作ってみた
SnowflakeだけでAIチャットボットが簡単に作れるようになったので試してみたもののご紹介です。こういうのが作れるんだな、という参考になれば幸いです。
fkd
January 01, 2025
Tweet
Share
More Decks by fkd
See All by fkd
Snowflakeでダミーデータを作ろう
fkd
0
20
PDFファイルからデータを抜き出してテーブルに入れてみた
fkd
0
550
Snowflake DCR
fkd
0
240
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
115
51k
Into the Great Unknown - MozCon
thekraken
35
1.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Docker and Python
trallard
44
3.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Cult of Friendly URLs
andyhume
78
6.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
GraphQLとの向き合い方2022年版
quramy
44
14k
Transcript
Snowflake Cortex LLM関数の いろんなモデルを試せる チャットボットを作ってみた Chatbot with Snowflake Cortex LLM
Functions 2024/7/30 KAG 福田陽一
自己紹介 • 名前 : 福田陽一 • 役職 : Data Engineer
/ Infrastructure Engineer 2024/7/30
Snowflake Cortex LLM関数 • 大規模言語モデル(LLM)関数(Snowflake Cortex) • https://docs.snowflake.com/en/user-guide/snowflake-cortex/llm-functions 2024/7/30 東京リージョンでも
使えるようになった! でも日本語のページでは 紹介されていない…
本当に秒で使える? • 公式の記事にて… • https://www.snowflake.com/blog/use-ai-snowflake-cortex/?lang=ja 2024/7/30 ガチ?
本当に秒で使える? • やってみた (聞いてみた) 2024/7/30 Q : ガチ?
本当に秒で使える! • やってみた (聞いてみた) 2024/7/30 Q : ガチ? A :
ガチ!
本当に秒で使える! • アカウント作成直後から参照できる 2024/7/30 ガチ! と回答してくれたこの方(AIモデル)も 前準備なく本当に関数を実行しただけ
お試し用チャットボットを作ってみた • やってみたかったこと 1. 複数のモデルを使い比べてみたい • 選択肢が多くてどれがいいかよくわからない • どれがいいか使用感を比較してみたい 2.
過去のやりとりを考慮して回答させたい • 会話の流れ、記憶を実現する • 他のユーザーの過去ログは使わない • 任意のタイミングで記憶を消せるようにしておきたい 3. RAGを実現したい • 即興で前提となる情報を与えておいて、それを使用して回答させる • あらかじめPDFを準備、取り込んでおき、それを事前知識として与えておいてそれを使用して回答させる • 回答に必要な情報源(ドキュメント)がわかっていれば、モデルが使用する情報からその場で間引きたい 2024/7/30 モデルの数が 多い…
• Streamlit + LLM関数 + その他(Snowflakeオブジェクト) • Streamlit • Streamlit
in Snowflake (SiS) : WebUI • LLM関数 • CORTEX.EMBED_TEXT_768 (または EMBED_TEXT_1024) : 埋め込みベクトル生成 • CORTEX.COMPLETE : 質問回答 • その他(Snowflakeオブジェクト) • チャットのログを記録するテーブル • ドキュメントを取り込むステージ、UDF • ユーザー毎にチャットログを区別するための行アクセスポリシー • 誤って他ユーザーが自分以外のチャットログを 参照できないようにするためのガード お試し用チャットボットを作ってみた 2024/7/30 Snowflake Only
できたもの 2024/7/30
できたもの 2024/7/30 複数モデルと 一度にチャット RAG周りの設定
事前情報の活用 2024/7/30 その場で与える情報 事前情報を使って回答 (プロンプトは全モデル共通) 回答に必要な情報がないと 「分からない」と回答(してくれるモデルもいる)
過去のやりとりを考慮 2024/7/30 途中で情報を追加 過去のやりとりを 踏まえて回答 軌道修正を指示 忘れさせることもできる (TRUNCATE) 履歴をテーブルで管理
RAGを使用 2024/7/30 わからない(正直) OR デタラメな回答 未使用時
RAGを使用 2024/7/30 正解! わからない(正直) OR デタラメ 類似度算出 ドキュメントを 読み込んだテーブル 使用時
実物の中身
RAGを使用 2024/7/30 参照ドキュメントを変えて 違う質問をしてみる なんか違う… 実物の中身
RAGを使用 2024/7/30 参照ドキュメントを変えて 違う質問をしてみる ドキュメント 見直してこい! 実物の中身 なんか違う… 今度こそ正解!
ざっくりお披露目終了 2024/7/30 • …といったことがSnowflakeだけで比較的簡単に実現できるようになった!
2024/7/30 自作お試しアプリ使ってみての感想 • モデルの使い比べが簡単にできるのはいい! • 応答の仕方(特徴など)、有効なタスク・プロンプト・問いの確認 • 言語対応状況 (日本語の向き・不向き) •
モデル固有の仕様の発見 • 例 : reka-flash は role: system を受け付けない… 良さそう 回答が長い… なんか英語混じってる 日本語がちょっと変な場合もある