Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SnowflakeとDatabricks両方でRAGを構築してみた
Search
camay
April 23, 2025
Technology
1
1.3k
SnowflakeとDatabricks両方でRAGを構築してみた
Cross Data Platforms Meetup #1(
https://cdpm.connpass.com/event/348713/
) の登壇資料です
camay
April 23, 2025
Tweet
Share
More Decks by camay
See All by camay
Databricks Lakebaseで見る、ML/LLMシステムでのPostgreSQLの使いどころ
kameitomohiro
0
420
Databricks AI/BI Genie の「値ディクショナリー」をAmazonの奥地(S3)まで見に行く
kameitomohiro
1
500
Lakebaseを使ったAIエージェントを実装してみる
kameitomohiro
0
370
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
540
SPCSでMLflow~初心者によるMLOps事始め~
kameitomohiro
0
190
Other Decks in Technology
See All in Technology
Power of Kiro : あなたの㌔はパワステ搭載ですか?
r3_yamauchi
PRO
0
180
生成AI時代におけるグローバル戦略思考
taka_aki
0
200
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
140
Amazon Quick Suite で始める手軽な AI エージェント
shimy
0
410
AI-DLCを現場にインストールしてみた:プロトタイプ開発で分かったこと・やめたこと
recruitengineers
PRO
2
160
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
1
170
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
220
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
360
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
3
480
1人1サービス開発しているチームでのClaudeCodeの使い方
noayaoshiro
2
430
生成AIを利用するだけでなく、投資できる組織へ / Becoming an Organization That Invests in GenAI
kaminashi
0
110
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
140
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
82
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
67
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
47
33k
Context Engineering - Making Every Token Count
addyosmani
9
540
Marketing to machines
jonoalderson
1
4.3k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
0
58
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
250
The Invisible Side of Design
smashingmag
302
51k
Site-Speed That Sticks
csswizardry
13
1k
My Coaching Mixtape
mlcsv
0
6
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Agile that works and the tools we love
rasmusluckow
331
21k
Transcript
SnowflakeとDatabricks両方でRAGを構築 してみた DATUM STUDIO株式会社 亀井友裕 Cross Data Platforms Meetup #1
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 1
自己紹介 #大阪 #RADWIMPS #ライブ #カラオケ #服 #ビール #スノボ #YouTube #オモコロ #vtuber 亀井 友裕 会社 DATUM STUDIO 株式会社 主な 業務経験 データパイプラインの構築(Databricks) 需要予測モデルの運用(Databricks) RAGの精度改善(AWS) 資格 SnowPro Advanced: Data Scientist Databricks Certified Data Engineer Associate
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 2
アジェンダ 1. RAGって何? 2. 実際に作ってみよう! 1. Snowflake編 2. Databricks編 3. 比較してみる 1. 開発体験 2. デフォルトで使用できるモデル 3. コスト *事例ベースの話はないです!
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. RAGって何?
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 4
RAG(Retrieval Augmented Generation)とは RAGとは、LLMへの問い合わせの際、外部のドキュメントやデータベースから関連情報を検索し、LLMの回答 に反映させる技術です。 稟議申請の やり方を教えて ①関連情報の検索 ②LLMへのプロンプト生成 稟議申請の手順書.pdf 稟議申請の手順書.pdfによると、、、 ③回答
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 5
ベーシックなRAGのパイプライン(1/2):ベクトルインデックスの作成 1. 保存:ソースとなるドキュメントを保存します。 2. 分割:大きなドキュメントたちを小さなチャンクに分割します。 3. ベクトル化(埋め込み):チャンクをそれぞれベクトルに変換します。 4. 保存:後で検索できるように、ベクトルをストレージに保存しておきます。 https://python.langchain.com/docs/tutorials/rag/#indexing
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 6
ベーシックなRAGのパイプライン(2/2):取得と生成 5. 質問: ユーザーが質問を入力します。 6. 取得: ユーザー入力の質問に対して、関連するチャンクをベクトルインデックスから取得します。 7. プロンプト作成: 取得したチャンクと質問の両方を含むプロンプトを作成します。 8. 回答生成: プロンプトからを回答を生成します。 https://python.langchain.com/docs/tutorials/rag/#retrieval-and-generation
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 7
RAG構築に必要なコンポーネント RAGパイプラインの構築のためには、さまざまなコンポーネント(部品)が必要です。 コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB クライアント/アプリ UI PDFなどのドキュメントを格納するストレージ ドキュメントをチャンクに分割するpythonの関数など チャンクをベクトルに変換する機械学習モデル ベクトルデータを格納するストレージ ユーザーからの質問を受け取り、 RAGパイプラインをからの返答を返すアプリUI ベクトル検索機能 質問をベクトルデータに変換し、 ベクトルDBから類似ドキュメントを検索する機能 LLM API 生成されたプロンプトを受けとって、回答を生成するLLMのAPI コンポーネント 概要
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 8
それぞれの製品で使用する機能 Snowflake, Databricksはそれぞれ、RAGパイプラインの構築に必要な機能を揃えています。 コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB クライアント/アプリ UI ベクトル検索機能 LLM API コンポーネント Stage cortex.SPLIT_TEXT_RECURSIVE_CHARACTER Snowflake Cortex Search Streamlit in Snowflake Snowflake Cortex LLM(complete関数) Snowflakeの機能 Volumes Langchain の Text Splitters関数など Mosaic AI Vector Search Databricks Apps(PuPr) Databricks Model Serving Endpoint Databricksの機能 Databricks Model Serving Endpoint
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 実際に作ってみよう!
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 10
実際に作ってみよう! どちらでもRAGアプリを作ってみて、開発体験や各種機能の使用感を比べてみようと思います。 Snowflakeで作るRAGアプリ Databricksので作るRAGアプリ
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 11
実際に作ってみよう!Snowflake編(1/7) ステージの作成 & pdfファイルのアップロード Snowflake コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB クライアント/アプリ UI ベクトル検索機能 LLM API コンポーネント
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 12
実際に作ってみよう!Snowflake編(2/7) pdfファイルをパースし、チャンクに分割する Snowflake チャンク分割関数 埋め込みモデル ベクトルDB クライアント/アプリ UI ベクトル検索機能 LLM API コンポーネント コンテキスト・リポジトリ
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 13
実際に作ってみよう!Snowflake編(3/7) Cortex Searchオブジェクトを作成 Snowflake クライアント/アプリ UI LLM API コンポーネント コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB ベクトル検索機能
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 14
実際に作ってみよう!Snowflake編(4/7) 新規Streamlit Appを作成 Snowflake コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB ベクトル検索機能 LLM API コンポーネント クライアント/アプリ UI
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 15
実際に作ってみよう!Snowflake編(5/7) ベクトル検索の処理を記述 Snowflake クライアント/アプリ UI LLM API コンポーネント コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB ベクトル検索機能
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 16
実際に作ってみよう!Snowflake編(6/7) LLM推論の処理を記述 Snowflake コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB クライアント/アプリ UI ベクトル検索機能 コンポーネント LLM API
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 17
実際に作ってみよう!Snowflake編(7/7) 残りのUI部分を記述 Snowflake コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB ベクトル検索機能 LLM API コンポーネント クライアント/アプリ UI
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 18
実際に作ってみよう!Snowflake編 完成!ちゃんとDatabricksの質問にも答えてくれます! Snowflake
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 19
実際に作ってみよう!Databricks編(1/7) ボリュームの作成 & pdfファイルのアップロード コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB クライアント/アプリ UI ベクトル検索機能 LLM API コンポーネント Databricks
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 20
実際に作ってみよう!Databricks編(2/7) pdfファイルをパースし、チャンクに分割する snowflake チャンク分割関数 埋め込みモデル ベクトルDB クライアント/アプリ UI ベクトル検索機能 LLM API コンポーネント コンテキスト・リポジトリ Databricks
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 21
実際に作ってみよう!Databricks編(3/7) Mosaic AI Vecoter Search Index オブジェクトを作成(埋め込みモデルは、デフォルトでホストされてい るモデル(GTE (En))を使用) snowflake クライアント/アプリ UI LLM API コンポーネント コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB ベクトル検索機能 databricks Databricks
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 22
実際に作ってみよう!Databricks編(4/7) Databricks App(Streamlit)を作成 snowflake コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB ベクトル検索機能 LLM API コンポーネント クライアント/アプリ UI Databricks
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 23
実際に作ってみよう!Databricks編(5/7) ベクトル検索の処理を記述 snowflake クライアント/アプリ UI LLM API コンポーネント コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB ベクトル検索機能 Databricks
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 24
実際に作ってみよう!Databricks編(6/7) LLM推論の処理を記述 snowflake コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB クライアント/アプリ UI ベクトル検索機能 コンポーネント LLM API Databricks
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 25
実際に作ってみよう!Databricks編(7/7) 残りのUI部分を記述し、デプロイ snowflake コンテキスト・リポジトリ チャンク分割関数 埋め込みモデル ベクトルDB ベクトル検索機能 LLM API コンポーネント クライアント/アプリ UI Databricks
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 26
実際に作ってみよう!Databricks編 完成!Snowflakeの質問にもちゃんと答えてくれます! snowflake Databricks
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 比較してみる
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 28
比較観点1:開発体験 総括 Snowflakeの 便利ポイント Databricksの 便利ポイント ベーシックなRAGの構築するなら、総コード量はそんなに変わらない パース、チャンク分割をSQLで完結させられるので楽 Stageに配置しているドキュメントのリンク作成がサクッとできるのも嬉しい Streamlitアプリの作成がめっちゃスムーズ Pythonライブラリのインストールに対するハードルが低いのが嬉しい Mlflowによるロギング周りの機能が充実している
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 29
比較観点2: デフォルトで使用できるLLMモデル デフォルトで使用できるモデル群は以下です。Snowflakeでは、日本語に対応した埋め込みモデルが使えるの が強みと言えそうです。 埋め込みモデル 埋め込みモデル snowflake-arctic-embed-m-v1.5 snowflake-arctic-embed-m e5-base-v2 snowflake-arctic-embed-l-v2.0 nv-embed-qa-4 multilingual-e5-large voyage-multilingual-2 GTE Large (En) BGE Large (En) GTE v1.5(En) BGE v1.5(En) Llama-3.1-8b Llama-3.1-70b Llama-3.1-405b Llama-3.2-1b Llama-3.2-3b Llama-3-8b Llama-3-70b Llama-4-Maverick Mistral-7b Mixtral-8x7b Deep Seek-R1 Claude-3.5-Sonnet mistral-large mistral-large2 reka-flash reka-core jamba-instruct jamba-1.5-mini jamba-1.5-large Claude-3.7-Sonnet DBRX MPT Databricks Snowflake ※太字は日本語対応 (と、公式で謳われている)モデル
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 30
比較観点3: コスト ベクトル検索のサービングはSnowflakeが安く、アプリのホストはDatabricksが安そうでした。 LLM API (Llama-3.3-70B) ベクトル検索の サービング クライアント/アプリ UI 機能 $1.25 / M tokens $220.59/unit, Month $4.3/hour Snowflake (東京リージョン & Enterprise Edition) $0.64 / M input tokens $1.93 / M output tokens $259.2/unit, Month $0.415/hour Databricks (東京リージョン & Premium plan) *1unit = 2M vectors with 768 dim *XSクラスタのアタッチを想定 *1unit = 2M vectors with 768 dim *アタッチできるクラスタは 2vCPU, 6 GB RAMのみ