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
24
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Snowflake Cortex LLM関数の いろんなモデルを試せる チャットボットを作ってみた
SnowflakeだけでAIチャットボットが簡単に作れるようになったので試してみたもののご紹介です。こういうのが作れるんだな、という参考になれば幸いです。
fkd
January 01, 2025
More Decks by fkd
See All by fkd
Snowflakeでダミーデータを作ろう
fkd
0
170
PDFファイルからデータを抜き出してテーブルに入れてみた
fkd
0
790
Snowflake DCR
fkd
0
330
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Context Engineering - Making Every Token Count
addyosmani
9
950
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Believing is Seeing
oripsolob
1
140
Discover your Explorer Soul
emna__ayadi
2
1.1k
Chasing Engaging Ingredients in Design
codingconduct
0
210
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
430
How to make the Groovebox
asonas
2
2.2k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
340
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
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 を受け付けない… 良さそう 回答が長い… なんか英語混じってる 日本語がちょっと変な場合もある