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
AmazonBedrockを使用した自作RAGの作り方
Search
そのだ
February 28, 2024
Technology
1
1.2k
AmazonBedrockを使用した自作RAGの作り方
【connpass】
DAIMYO Meetup #4
https://nulab.connpass.com/event/307954/
そのだ
February 28, 2024
Tweet
Share
More Decks by そのだ
See All by そのだ
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
0
780
Amazon Bedrock Knowledge Basesに Data Autometionを導入してみた
sonoda_mj
1
60
Amazon Bedrock Knowledge basesにLangfuse導入してみた
sonoda_mj
2
770
AIエージェントに脈アリかどうかを分析させてみた
sonoda_mj
2
230
Amazon Bedrock Knowledge Basesのアップデート紹介
sonoda_mj
2
460
Snowflake未経験の人がSnowflakeに挑戦してみた
sonoda_mj
1
130
生成AIアプリのアップデートと配布の課題をCDK Pipelinesで解決してみた
sonoda_mj
0
440
AWSでRAGを作る方法
sonoda_mj
1
540
緑一色アーキテクチャ
sonoda_mj
2
280
Other Decks in Technology
See All in Technology
Lazy application authentication with Tailscale
bluehatbrit
0
210
OPENLOGI Company Profile
hr01
0
67k
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
520
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
280
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
2
9.4k
ビズリーチにおけるリアーキテクティング実践事例 / JJUG CCC 2025 Spring
visional_engineering_and_design
1
130
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
7
5.3k
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
470
データグループにおけるフロントエンド開発
lycorptech_jp
PRO
1
110
AWS認定を取る中で感じたこと
siromi
1
190
いつの間にか入れ替わってる!?新しいAWS Security Hubとは?
cmusudakeisuke
0
130
赤煉瓦倉庫勉強会「Databricksを選んだ理由と、絶賛真っ只中のデータ基盤移行体験記」
ivry_presentationmaterials
2
370
Featured
See All Featured
A better future with KSS
kneath
238
17k
It's Worth the Effort
3n
185
28k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Bash Introduction
62gerente
613
210k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
4 Signs Your Business is Dying
shpigford
184
22k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Faster Mobile Websites
deanohume
307
31k
Transcript
AmazonBedrockを使⽤した⾃作RAGの作り⽅ DAIMYO Meetup #4 2024.2.28 苑⽥朝彰 1
⾃⼰紹介 苑⽥ 朝彰 Sonoda Tomotada - ID - Github︓tomomj -
Twitter︓@sonoda_mj - Work at - 株式会社 Fusic (フュージック) 技術創造部⾨所属 - 新卒3年⽬ - 最近MLを勉強し出した - Skill - AWS/React(Native)/Ruby on Rails 2
アジェンダ 3 l 背景 l 事前知識 l AmazonBedrockを使用した自作RAGの作り方 l まとめ
01 背景
新しい情報やプライベートの情報に関する 内容について回答してくれる、ChatGPTの ようなアプリを個人開発で作りたい!
でもいいネタが思いつかん!!
参考:https://fusic.co.jp/members
ちょうどええデータ あるやん
これ使ってみよか〜
作ったもの
苑田(webにない情報) って誰ですか? Webアプリ
苑田っていうのはな。。。 Webアプリ
02 事前知識
事前知識 14 l 検索拡張生成(RAG)とは l Amazon Bedrockとは
事前知識 15 l 検索拡張生成(RAG)とは l Amazon Bedrockとは
検索拡張⽣成(RAG)とは 16 Retrieval Augmented Generation(RAG) 生成系の言語 AI モデルに外部メモリをつけるというコンセプトのことを指す Vector Database
LLM 質問 検索 返答 検索結果 引用:https://github.com/aws-samples/jp-rag-sample
検索拡張⽣成(RAG)とは 17 事前に学習したデータに関しては返答することができる AWSについて教えて AWSってのはな・・・ LLM
検索拡張⽣成(RAG)とは 18 しかし、学習していない内容に関しては答えられない 苑田について教えて 誰やねん 私の知識はxxxx年まででぇ〜
検索拡張⽣成(RAG)とは 19 外部のデータベースなどを紐づけることで、新しい情報やプライベートの情報に関す る回答を生成することができる Vector Database 苑田について教えて 新しいデータをベクトル化 して格納
検索拡張⽣成(RAG)とは 20 外部のデータベースなどを紐づけることで、新しい情報やプライベートの情報に関す る回答を生成することができる Vector Database 近いベクトルを探す 「苑田について教えて」を ベクトル化
検索拡張⽣成(RAG)とは 21 外部のデータベースなどを紐づけることで、新しい情報やプライベートの情報に関す る回答を生成することができる Vector Database 検索結果を返す
検索拡張⽣成(RAG)とは 22 外部のデータベースなどを紐づけることで、新しい情報やプライベートの情報に関す る回答を生成することができる Vector Database 苑田ってのはな
RAGはどういう処理をしているのか 23 ベクターDB テキストをベクトル化する モデル 生成系AI
RAGはどういう処理をしているのか 24 ベクターDB テキストをベクトル化する モデル 生成系AI ベクトル化して 格納 [0.1, 0.2,
0.3, …]
RAGはどういう処理をしているのか 25 ベクターDB テキストをベクトル化する モデル 生成系AI 苑田って誰ですか??
RAGはどういう処理をしているのか 26 ベクターDB テキストをベクトル化する モデル 生成系AI [0.1, 0.2, 0.5, …]
RAGはどういう処理をしているのか 27 ベクターDB テキストをベクトル化する モデル 生成系AI [0.1, 0.2, 0.5, …]
RAGはどういう処理をしているのか 28 ベクターDB テキストをベクトル化する モデル 生成系AI {vector : [0.1, 0.2,
0.5, …], text: “緑タイツを着てます”} 似たようなものあったわ! 2つくらい送るな! {vector : [0.1, 0.1, 0.2, …], text: “AWSエンジニアです”}
RAGはどういう処理をしているのか 29 ベクターDB テキストをベクトル化する モデル 生成系AI + 苑田って誰ですか? { “緑タイツを着てます”}
{ “AWSエンジニアです”}
RAGはどういう処理をしているのか 30 ベクターDB テキストをベクトル化する モデル 生成系AI 苑田っていうのはな?
事前知識 31 l 検索拡張生成(RAG)とは l Amazon Bedrockとは
Bedrockとは 32 "*-BCTɺ"OUISPQJDɺ$PIFSFɺ.FUBɺ4UBCJMJUZ"*ɺ"NB[POͳͲͷେख "*اۀ͕ఏڙ͢Δ ߴੑೳͳج൫Ϟσϧ '. Λ୯Ұͷ "1*ͰબͰ͖ΔϑϧϚωʔδυܕαʔϏε ↓これらのmodelのAPIが使える
ファインチューニング 33 追加学習させて新しくモデルを作れる
playground(chat) 34 マネコン上で実際にmodelを使用することができる
playground(text) 35 推論パラメータをいじれる パラメータいじれる ↑トークン足りてない
03 AmazonBedrockを使⽤した ⾃作RAGの作り⽅
データソース 37 Fusicの公式ページ全て 参考: https://fusic.co.jp/members/108
構成図(1) 38
構成図(1) 39 ベクターDB テキストをベクトル化する モデル 生成系AI Bedrock Fargate
構成図(1) 40 ベクターDB テキストをベクトル化する モデル 生成系AI Bedrock Fargate
構成図(1) 41 ベクターDB テキストをベクトル化する モデル 生成系AI Bedrock Fargate 俺が作った
構成図(1) 42 New!!
構成図(1) 43 ベクトル化するモデル (を搭載したサーバー)
構成図(1) 44 RAGの処理を 全部やってくれるやつ
Lambdaの中⾝ 45 ベクターDB テキストをベクトル化する モデル 生成系AI Bedrock Fargate
None
今までの会話履歴を記載 ベクターDBから持ってきたデータ
会話履歴を使用しない場合 会話履歴を指定する場合 苑田とは誰ですか? AWSエンジニアです 詳細を教えてください 詳細とは何でしょうか? 苑田とは誰ですか? AWSエンジニアです 詳細を教えてください 彼はAWSだけではなく、Rubyも書ける
ようです。緑のタイツを着ています。 会話情報が保持される
構成図(1) 49
None
構成図(1) 51 前処理(めんどくさいやつ)をBedrockで処理
データを前処理する 52 名前:苑田朝彰 コメント:ほげほげ 略歴:ほげほげ 担当・スキル:ほげほげ プライベート:ほげほげ 必要なところだけ取ったtxtファイル データの抽出
構成図(1) 53 ベクターDB Freeプラン使用
構成図(2) 54
構成図(2) 55
Knowledge Base for Amazon Bedrockとは 56 "NB[PO#FESPDLͷφϨοδϕʔεΛ༻͢Δͱɺ"NB[PO#FESPDL͔Β '.Λσʔλιʔ εʹଓͯ͠ݕࡧ֦ுੜ 3"(
Λߦ͏͜ͱ͕Ͱ͖Δɻ͜ΕʹΑΓɺ'.ͷطଘͷڧྗͳػೳΛ ֦ு͠ɺಛఆͷυϝΠϯ৫ʹؔ͢ΔࣝΛਂΊΔ͜ͱ͕Ͱ͖Δɻ 引用:https://aws.amazon.com/jp/bedrock/knowledge-bases/
データの前処理 57 引用:https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html • ドキュメントを管理しやすいチャンクに分割し、効率的に取得できるようにする • ドキュメントをEmbedding Modelを使用してベクトル化する • Vector
DBに格納する Titan
ランタイム実⾏ 58 引用:https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html • ユーザーのクエリをベクトル化する • ドキュメントのベクトルと比較し、意味的に類似したチャンクが検索される • 取得されたチャンクからの追加のコンテキストで拡張される Titan
Claude
Knowledge Baseについて詳しく 59 or or Vector Database Data Source S3
Bedrock User LLM 様々な情報を入れる コードを書かなくとも一括で作成してくれる(S3以外) or
デモ
04 まとめ
まとめ Bedrockを使ってChatGPTのようなアプリを簡単に作ることができた Point 2 データの精度を上げるには前処理が重要 62 Point 1 Point 3
Knowledge Base for Amazon Bedrockを使うと、もっと簡単に作成できる
None
ご清聴いただきありがとうございました Thank You We are Hiring ! https://recruit.fusic.co.jp/