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
検索拡張生成(RAG)をAWSで作る方法
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
そのだ
April 24, 2024
Technology
1.2k
1
Share
検索拡張生成(RAG)をAWSで作る方法
【connpass】
Fusic Tech Live Vol.19 機械学習~生成AI編(言語・音声)~
https://fusic.connpass.com/event/310627/
そのだ
April 24, 2024
More Decks by そのだ
See All by そのだ
Google_ADKのSub_AgentをAgentic_Workflowに移行し_遷移成功率を改善した話.pdf
sonoda_mj
1
99
仕事はAIに任せてラスベガスへ行きたいのでDSPyで自分のクローンを作った
sonoda_mj
1
140
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
2.6k
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
1
1.8k
Amazon Bedrock Knowledge Basesに Data Autometionを導入してみた
sonoda_mj
1
220
Amazon Bedrock Knowledge basesにLangfuse導入してみた
sonoda_mj
2
1.1k
AIエージェントに脈アリかどうかを分析させてみた
sonoda_mj
2
410
Amazon Bedrock Knowledge Basesのアップデート紹介
sonoda_mj
2
870
Snowflake未経験の人がSnowflakeに挑戦してみた
sonoda_mj
1
280
Other Decks in Technology
See All in Technology
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
6
3k
Building a Study Buddy AI Agent from Scratch: From Passive Chatbots to Autonomous Systems
itchimonji
0
120
AIの揺らぎに“コシ”を与える階層化品質設計
ickx
0
190
バイブコーディングで3倍早く⚪⚪を作ってみた
samakada
0
210
20年前の「OSS革命」に学ぶ AI時代の生存戦略
samakada
0
530
COBOL婆さんの伝説
poropinai1966
0
130
EMから幅を広げるために最近挑戦していること / Recent challenges I'm undertaking to expand my horizons beyond EM
hiro_torii
1
180
AI バイブコーティングでキーボード不要?!
samakada
0
670
Building Production-Ready Agents Microsoft Agent Framework
_mertmetin
0
140
はじめての MagicPod生成AI機能 機能紹介から活用方法まで
magicpod
0
130
AWS Agent Registry の基礎・概要を理解する/aws-agent-registry-intro
ren8k
3
430
AndroidアプリとCopilot Studioの統合
nakasho
0
200
Featured
See All Featured
Paper Plane
katiecoart
PRO
1
49k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
180
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
230
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
Being A Developer After 40
akosma
91
590k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.4k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
760
Navigating Team Friction
lara
192
16k
Transcript
©Fusic Co., Ltd. 1 検索拡張⽣成(RAG)をAWSで作る⽅法 2024.4.24 苑⽥ 朝彰 @sonoda_mj Fusic
Tech Live Vol.19
©Fusic Co., Ltd. 2 苑⽥ 朝彰 Sonoda Tomotada - X:
sonoda_mj - 2023 AWS Jr.Champions - 2024 Community Builders(ML & GenAI) コメント 最近AWS StepFunctionsにハマってる ⾃⼰紹介 はじめに 株式会社Fusic
©Fusic Co., Ltd. 3 CONTENTS ⽬次 1. 検索拡張⽣成(RAG)とは 2. RAGをAWSで作ってみる
3. まとめ
©Fusic Co., Ltd. 4 検索拡張⽣成(RAG)とは 1
©Fusic Co., Ltd. 5 Retrieval Augmented Generation(RAG) ⽣成系の⾔語 AI モデルに外部メモリをつけるというコンセプトのことを指す
検索拡張⽣成(RAG)とは Vector Database LLM 質問 検索 返答 検索結果 引用:https://github.com/aws-samples/jp-rag-sample
©Fusic Co., Ltd. 6 事前に学習したデータに関しては返答することができる 検索拡張⽣成(RAG)とは LLM AWSについて教えて AWSってのはな
©Fusic Co., Ltd. 7 しかし、プライベート情報や新しい情報など、学習していない内容に関しては答 えられない 検索拡張⽣成(RAG)とは 苑⽥について教えて 私の知識はxxxx年まででぇ LLM
©Fusic Co., Ltd. 8 外部のデータベースなどを紐づけることで、新しい情報やプライベートの情報に 関する回答を⽣成することができる 検索拡張⽣成(RAG)とは Vector Database 苑⽥について教えて
©Fusic Co., Ltd. 9 外部のデータベースなどを紐づけることで、新しい情報やプライベートの情報に 関する回答を⽣成することができる 検索拡張⽣成(RAG)とは Vector Database 苑⽥について教えて
©Fusic Co., Ltd. 10 外部のデータベースなどを紐づけることで、新しい情報やプライベートの情報に 関する回答を⽣成することができる 検索拡張⽣成(RAG)とは Vector Database 検索結果を返す
©Fusic Co., Ltd. 11 外部のデータベースなどを紐づけることで、新しい情報やプライベートの情報に 関する回答を⽣成することができる 検索拡張⽣成(RAG)とは Vector Database 苑⽥ってのは…
©Fusic Co., Ltd. 12 Fusicの公開情報から構成されるRAG Fusic-RAG メンバー紹介 ニュース 開発事例 その他
©Fusic Co., Ltd. 13 RAGはどういう処理を⾏っているのか 1. 質問をベクトル化する 2. ベクトル化した質問を元に、Vector DBから似ているベク
トル(上位n個)を探す 3. 検索結果と質問からプロンプトを作成 4. LLMにプロンプトを投げる
©Fusic Co., Ltd. 14 今回の登場⼈物 User Embedding Model Vector DB
LLM 質問をする⼈ テキストをベクトル にするモデル ベクトル⽤のDB テキストを⽣成する モデル
©Fusic Co., Ltd. 15 Vector DBにデータを⼊れる AWSを業務で使っています。 テキストを ベクトル化する Vector
DB Embedding Model LLM データソース
©Fusic Co., Ltd. 16 Vector DBにデータを⼊れる [0.1, 0.5, 0,3 …]
Vector DB Embedding Model LLM データソース
©Fusic Co., Ltd. 17 Vector DBにデータを⼊れる ≈≈ { [0.1, 0.5,
0,3 …] metadata: { text: AWSを業務で使っています。 dataSource: sonoda.md } } Vector DB Embedding Model LLM データソース
©Fusic Co., Ltd. 18 1. 質問をベクトル化する 苑⽥さんって誰ですか? Vector DB Embedding
Model LLM
©Fusic Co., Ltd. 19 1. 質問をベクトル化する [0.1, 0.5, 0,3 …]
Vector DB Embedding Model LLM
©Fusic Co., Ltd. 20 2. ベクトル化した質問を元に、Vector DBから似ているベクトルを探す [0.1, 0.5, 0,3
…]に似ている ベクトルを探す Vector DB Embedding Model LLM
©Fusic Co., Ltd. 21 2. ベクトル化した質問を元に、Vector DBから似ているベクトルを探す { [0.1, 0.5,
0,3 …] metadata: { text: AWSを業務で使っています。 dataSource: sonoda.md } } 似てるのあったわ Vector DB LLM
©Fusic Co., Ltd. 22 Embedding Model 3. 検索結果と質問からプロンプトを作成 あなたはhogehogeです 以下の質問に答えてください
# 情報 AWSを業務で使っています。 # 質問 苑⽥さんって誰ですか? Vector DB LLM
©Fusic Co., Ltd. 23 Embedding Model 4. LLMにプロンプトを投げる Vector DB
LLM あなたはhogehogeです 以下の質問に答えてください # 情報 AWSを業務で使っています。 # 質問 苑⽥さんって誰ですか?
©Fusic Co., Ltd. 24 4. LLMにプロンプトを投げる AWSを業務で使ってます Vector DB Embedding
Model LLM
©Fusic Co., Ltd. 25 会話履歴も⼊れてみる 苑田とは誰ですか? AWSエンジニアです 詳細を教えてください 詳細とは何でしょうか? 苑田とは誰ですか?
AWSエンジニアです 詳細を教えてください 彼はAWSだけではなく、Rubyも書ける ようです。緑のタイツを着ています。 会話履歴を使⽤しない場合 会話履歴を使⽤した場合
©Fusic Co., Ltd. 26 RAGをAWSで作ってみた 2
©Fusic Co., Ltd. 27 AI21 Labs、Anthropic、Cohere、Meta、Stability AI、Amazon などの⼤⼿ AI 企業が提供する⾼性
能な基盤モデル (FM) を単⼀の API で選択できるフルマネージド型サービス Amazon Bedrockとは
©Fusic Co., Ltd. 28 RAGはどういう処理を⾏っているのか(再掲) 1. 質問をベクトル化する 2. ベクトル化した質問を元に、Vector DBから似ているベク
トル(上位n個)を探す 3. 検索結果と質問からプロンプトを作成 4. LLMにプロンプトを投げる
©Fusic Co., Ltd. 29 RAGはどういう処理を⾏っているのか(再掲) 1. 質問をベクトル化する 2. ベクトル化した質問を元に、Vector DBから似ているベク
トル(上位n個)を探す 3. 検索結果と質問からプロンプトを作成 4. LLMにプロンプトを投げる 簡単に作成できる!!
©Fusic Co., Ltd. 30 Amazon Bedrock 内から基盤モデルをデータソースに接続して、検索拡張⽣成 (RAG) を⾏うことができる。 Knowledge
Base for Amazon Bedrock Bedrock LLM Bedrock Embedding Model Vector DB Data Source or or or S3 様々なデータを⼊れる .txt, .md, .html, .doc/docx .csv, .xls/.xlsx, .pdf
©Fusic Co., Ltd. 31 Knowledge Base for Amazon Bedrock(Pythonでの使い⽅)
©Fusic Co., Ltd. 32 AWSで作成した場合の構成図 or
©Fusic Co., Ltd. 33 AWSで作成した場合の構成図 or フロントエンド (アプリ、Slackなど)
©Fusic Co., Ltd. 34 AWSで作成した場合の構成図 or Knowledge Base for Amazon
Bedrock RAGを簡単に使⽤できる
©Fusic Co., Ltd. 35 AWSで作成した場合の構成図 or AWS Lambda サーバーレスでKBを呼び出す
©Fusic Co., Ltd. 36 AWSで作成した場合の構成図 or Pinecone(VectorDB) Freeプランを使⽤すると無料で検証できる
©Fusic Co., Ltd. 37 AWSで作成した場合の構成図 or DynamoDB 会話ログを保管する
©Fusic Co., Ltd. 38 実際の流れ or
©Fusic Co., Ltd. 39 実際の流れ or 苑⽥って誰ですか?
©Fusic Co., Ltd. 40 実際の流れ or RAGの処理 会話ログの保存 RAGの処理 1.
質問をベクトル化する 2. ベクトル化した質問を元に、 Vector DBから似ているベクトル (上位n個)を探す 3. 検索結果と質問からプロンプトを 作成 4. LLMにプロンプトを投げる 5. 回答を受け取る
©Fusic Co., Ltd. 41 実際の流れ or 苑⽥ってのはな
©Fusic Co., Ltd. 42 まとめ 3
©Fusic Co., Ltd. 43 まとめ 検索拡張⽣成(RAG)は、⾔語AIモデルに外部メモリを付けることで、未学習データにも対応可能にする技術。 Point 01 AWSではKnowledge Base
for Amazon Bedrockを活⽤することでRAGを簡単に実装可能。 Point 02 サーバレスで構築することで、格安で検証可能。 Point 03
©Fusic Co., Ltd. 44 Thank You We are Hiring! https://recruit.fusic.co.jp/
ご清聴いただきありがとうございました