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
MongoDB Atlas Vectorsearchではじめる生成AIアプリ開発
Search
chie8842
March 20, 2024
Technology
2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MongoDB Atlas Vectorsearchではじめる生成AIアプリ開発
第39回 MLOps 勉強会の資料
https://mlops.connpass.com/event/312260/
#mlopsコミュニティ
chie8842
March 20, 2024
More Decks by chie8842
See All by chie8842
MongoDB Atlas:モダンなアプリ開発を支えるデータプラットフォームのご紹介
chie8842
0
50
MongoDB Vectorsearchではじめるカスタマイズ可能な生成AIアプリ開発
chie8842
0
54
MongoDB Atlas Search のご紹介
chie8842
2
2.4k
AWS GlueとAWS Lake Formationではじめるデータマネジメント
chie8842
0
1.2k
Distributed Processing in Python
chie8842
2
860
クックパッドにおける推薦(と検索)の取り組み
chie8842
20
8.2k
Understanding distributed processing in Python
chie8842
2
2.3k
Performance Tuning Tips of TensorFlow Inference
chie8842
1
790
クックパッドにおけるCloud AutoML事例
chie8842
9
8.1k
Other Decks in Technology
See All in Technology
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
200
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
210
AWS Summit 2026で見えたSIerにとっての Amazon Quickの位置づけ
maf_0521
0
120
どうして今サーバーサイドKotlinを選択したのか
nealle
0
120
AIは、人間らしい仕事の夢を見るか?─ AI時代のtoB/toEプロダクトを再設計する
techtekt
PRO
0
160
AIエージェントとPhysical AIが拓く製造業の変革(ハノーバーメッセリキャップ)
iotcomjpadmin
0
170
5分でわかるDuckDB Quack
chanyou0311
4
270
デジタル・デザイン:次の50年を描く「進化する青写真」
y150saya
0
150
Agentic AI 時代のテスト手法: Kiro とはじめるプロパティベーステスト (AWS Summit Japan 2026 | DEV212)
ymhiroki
0
100
Agile and AI Redmine Japan 2026
hiranabe
4
510
打造你的 AI 工作流:Agent Skill + MCP 實戰工作坊
appleboy
0
180
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
7
4.4k
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Agile that works and the tools we love
rasmusluckow
331
22k
Speed Design
sergeychernyshev
33
1.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
First, design no harm
axbom
PRO
2
1.2k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
370
Un-Boring Meetings
codingconduct
0
330
Docker and Python
trallard
47
3.9k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Utilizing Notion as your number one productivity tool
mfonobong
4
330
Transcript
MongoDB Atlas Vectorsearchで はじめる⽣成AIアプリ開発 Welcome 林⽥ 千瑛(Chie Hayashida) MongoDB Singapore
Solutions Architect
⾃⼰紹介 林⽥ 千瑛 MongoDB Sigapore のソリューションアーキテクト インフラエンジニア→ソフトウェアエンジニア→ソリューションアーキテクト Web企業にてデータ基盤・機械学習基盤・検索サービス開発に 従事した後、AWSのアナリティクススペシャリストソリューション アーキテクトを経て2023年11⽉からMongoDBに⼊社
お問い合わせ、技術質問等ありましたら、 画⾯右上のQRコードのGoogle Formから お問い合わせお願いします
このセッション・デモの内容は、期限なし 無料のMongoDB Atlas M0 クラスタで ご利⽤いただけます ※本番環境としては、課⾦が必要なM10以上の利⽤をおすすめします ※ M0クラスタでは、インデックス作成は3つまで等の制限があります ※
デモの内容は別途OpenAIのAPIが必要です
LLMによる質問応答 LLM アプリケーション 開発フレームワーク 質問 (プロンプト) ⽣成された回答 LLM プロバイダ ⽬⽟焼きの作り⽅を
教えて 卵を割ってフライパ ンに⼊れて、、、
LLM の課題 LLMモデルの学習データに含まれない内容について答えられない • 「今⽇の天気」などのリアルタイムな情報、組織や個⼈固有のデータに基づく質疑応答が できない Retrieval Augmented Generation (RAG)
LLMモデルのコンテキスト不⾜による問題を情報検索技術との融合に より解決 • 信頼性の低いデータに基づく回答が⾏われる場合がある • それっぽい嘘情報を答えてしまう(Hallucination)
Retrieval-Augmented Generation (RAG) ハリー、呪⽂の 書を使うんだ︕ えっと、えっと、 と、⾶べ︖ わかったぞ︕ “ウィンガーディアム・ レヴィオーサ!”
ハリー︕ものを浮かせる 呪⽂を答えよ︕ LLM RAG
Retrieval-Augmented Generation (RAG) ベクトル検索により 不⾜するコンテキストを 追加して回答を得る ハリー、呪⽂の 書を使うんだ︕ えっと、えっと、 と、⾶べ︖
わかったぞ︕ “ウィンガーディアム・ レヴィオーサ!” ハリー︕ものを浮かせる 呪⽂を答えよ︕ LLM RAG
ベクトル検索 データを数値配列で表し、距離の近いものを類似データとして抽出する Mozzarella [0.3, 0.9] Cheese [0.5, 0.7] Pizza [0.3,
0.4] Cheddar [0.9, 0.2] Added Mar 2023 ビーフ チキン ポーク ⿅⾁ ⾺⾁ ほうれん草 ネギ にんじん ピー マン じゃがいも ⾁ 野菜 [0.3, 0.4, 0.2, 0.1…] Vector
インデックス ベクトルデータの⽣成⽅法 LLMとは別の「Embeddingモデル」というタイプの機械学習モデルを利⽤ Embedding モデル OpenAI, Cohere, Anthropic, HuggingFace, Vertex
など ドキュメント 画像 ⾳声 動画 [0.4 0.7 0.9 … [0.2 0.3 0.8 … [0.1 0.6, 0.3 … [0.5 0.1 0.2 . . . [0.7 0.3 0.2 … [0.45 0.15 0.8 … Embeddings ベクターストア
LLMによる質問応答 LLM アプリケーション 開発フレームワーク 質問 (プロンプト) ⽣成された回答 LLM プロバイダ 今⽇の天気は︖
今⽇の天気はわかりません
RAGによる質問応答 LLM アプリケーション 開発フレームワーク 質問 (プロンプト) ⽣成された回答 LLM プロバイダ 今⽇の天気は︖
今⽇の天気は晴れです 質問︓今⽇の天気は︖ 関連⽂書︓3⽉20⽇の天気は… 天気予報ニュースの ベクトルデータ
RAGによる質問応答 LLM アプリケーション 開発フレームワーク 質問 (プロンプト) ⽣成された回答 LLM プロバイダ 今⽇の天気は︖
質問︓今⽇の天気は︖ 関連⽂書︓3⽉20⽇の天気は… 天気予報ニュースの ベクトルデータ 今⽇の天気は晴れです
Retool 社によるState of AI 2023 Surveyのベクトル データベースレビューにおいてダントツのNPS Linked
Atlas Vectorsearchの使いやすさ ベクトルデータとテーブル データを⼀緒に保存 統合的データプラットフォー ムとしての様々な機能を持つ フルマネージドサービス エンタープライズレベルの セキュリティや機能 マルチクラウド
検索とデータベースクエリ のリソースを分離 テーブルデータ、グラフデータ、地 理空間データ、時系列データなども 利⽤可能な柔軟なデータモデル
[0.3, 0.4, 0.2, 0.1…] Vector ベクトル検索と他のタイプのクエリを簡単に組み合わせる ことで、よりリッチな機能をより簡単に構築 "クエリ画像に似ている画像をすべて検索し、撮影者IDで グループ化する" "ユーザーのクエリに⼀致する、過去3ヶ⽉に公開された
コンテンツのみを検索する" "現在地から10マイル以内のレストランで、私の好みに 合うものを推薦する" メタデータを利⽤したフィルタリングとの統合 データベースのデータとの統合 地理空間検索との統合
Vector Operational アーキテクチャをシンプルに保つ • ドキュメントデータモデルに より、構造化データ、⾮構造 化データ、ベクトルデータを ⼀つのスキーマで管理可能 • データ同期不要
• ⼀つのAPIでデータベースクエ リとベクトル検索を組み合わ せた複雑なクエリを実現 MongoDB Atlas Document ベクトル専⽤データベースの導⼊→複雑なデータ同期 /API管理が必要となる RDBMSへのベクトル保存→ベクトル化対象データが 複数テーブルに散らばるので管理が難しい Operational data Vector data Newly added data as app requirements evolve
⽣成AIアプリ開発のためのツールやエコシステムとの統合 Developer Data Platform Atlas Any developer framework Any embedding
provider OpenAI, Cohere, AWS, Hugging Face, etc. Langchain, LlamaIndex, etc. Any foundation model OpenAI, Anthropic, Cohere, Hugging Face, AWS, Google あらゆるクラウド環境・地域で 利⽤可能 AWS, Azure, and Google Cloud の110以上のリージョンに対応
Vector Search GEN AI powered APP LLM Prompt Context Orchestration
Layer Single View _id: ObjectID(‘62f13a3fe7321ca47aecb216’) symbol: “ABMD” quarter: 4 year: 2021 Date: 2021-04-29T20:10:40.000+00:00 Content: “Operator: Ladies and gentleman, thank you for standing by, and welcome…” Content_embeddings: Array 0: 0.03898080065846443 1: -0.05879044905304909 2: 0.04323239979442215 3: -0.021337900310754776 4: -0.036346953362226486 5: 0.028689613565802574 6: -0.03514527902007103 7: -0.07414846867322922 8: -0.00993054173886776 9: 0.007234036456793547 10: -0.03197460621595383 ドキュメントに格納される埋め込みベクトルの例 ベクトル埋め込み
{ "mappings": { "fields": { "content_embedding": { "type": "knnVector", "dimensions":
1536, "similarity": "<euclidean | dotProduct | cosine>" }, "field1": { "type": "date" }, // optional "field2": { "type": "double" } // optional } } } Vector Search GEN AI powered APP LLM Prompt Context Orchestration Layer Single View Vector Search のインデックス ディメンション 類似度計算 アルゴリズム の選定 ベクトル埋め込みフィールド名
[{ "$vectorSearch": { "knnBeta": { "vector": [ 0.03898080065846443, ... ],
"path": "content_embedding", "k": 5 "filter": { // traditional point & range queries }, } } }] Vector Search GEN AI powered APP LLM Prompt Context Orchestration Layer Single View Vector Search のクエリとフィルタ _id: ObjectID(‘62f13a3fe7321ca4 symbol: “ABMD” quarter: 4 year: 2021 date: 2021-04-29T20:10:40.000+0 content: “Operator: Ladies and g content_embeddings: Array 0: 0.03898080065846443 1: -0.05879044905304909 2: 0.04323239979442215 3: -0.021337900310754776 4: -0.036346953362226486 5: 0.028689613565802574 6: -0.03514527902007103 7: -0.07414846867322922 8: -0.00993054173886776 9: 0.007234036456793547 10: -0.03197460621595383 Document Algorithm: HNSW
ベクトル検索とデータベースクエリを⼀つのクエリで 実⾏ 1. ʻfilterʼによりメタデータでフィルタリング 2. ʻ$vectorSearchʼ でフィルタ後のデータに 対してベクトル検索で類似データを10個抽出 3. ʻ$projectʼでベクトルフィールドを抽出対
象から排除
Demo https://github.com/chie8842/atlas-vector-search-rag/
Thank you!