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
13
Snowflake Cortex LLM関数の いろんなモデルを試せる チャットボットを作ってみた
SnowflakeだけでAIチャットボットが簡単に作れるようになったので試してみたもののご紹介です。こういうのが作れるんだな、という参考になれば幸いです。
fkd
January 01, 2025
Tweet
Share
More Decks by fkd
See All by fkd
Snowflakeでダミーデータを作ろう
fkd
0
99
PDFファイルからデータを抜き出してテーブルに入れてみた
fkd
0
660
Snowflake DCR
fkd
0
290
Featured
See All Featured
Building an army of robots
kneath
306
45k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
GitHub's CSS Performance
jonrohan
1031
460k
Music & Morning Musume
bryan
46
6.7k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Bash Introduction
62gerente
613
210k
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 を受け付けない… 良さそう 回答が長い… なんか英語混じってる 日本語がちょっと変な場合もある