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
15
Snowflake Cortex LLM関数の いろんなモデルを試せる チャットボットを作ってみた
SnowflakeだけでAIチャットボットが簡単に作れるようになったので試してみたもののご紹介です。こういうのが作れるんだな、という参考になれば幸いです。
fkd
January 01, 2025
Tweet
Share
More Decks by fkd
See All by fkd
Snowflakeでダミーデータを作ろう
fkd
0
120
PDFファイルからデータを抜き出してテーブルに入れてみた
fkd
0
690
Snowflake DCR
fkd
0
300
Featured
See All Featured
Docker and Python
trallard
46
3.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
8
910
Producing Creativity
orderedlist
PRO
347
40k
Music & Morning Musume
bryan
46
6.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
How GitHub (no longer) Works
holman
315
140k
Practical Orchestrator
shlominoach
190
11k
GitHub's CSS Performance
jonrohan
1032
470k
Designing Experiences People Love
moore
142
24k
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 を受け付けない… 良さそう 回答が長い… なんか英語混じってる 日本語がちょっと変な場合もある