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.1k
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
420
Amazon Bedrock Knowledge Basesに Data Autometionを導入してみた
sonoda_mj
1
28
Amazon Bedrock Knowledge basesにLangfuse導入してみた
sonoda_mj
2
490
AIエージェントに脈アリかどうかを分析させてみた
sonoda_mj
2
200
Amazon Bedrock Knowledge Basesのアップデート紹介
sonoda_mj
2
390
Snowflake未経験の人がSnowflakeに挑戦してみた
sonoda_mj
1
79
生成AIアプリのアップデートと配布の課題をCDK Pipelinesで解決してみた
sonoda_mj
0
410
AWSでRAGを作る方法
sonoda_mj
1
470
緑一色アーキテクチャ
sonoda_mj
2
240
Other Decks in Technology
See All in Technology
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
13
3.8k
[CATS]Amazon Bedrock GenUハンズオン座学資料 #2 GenU環境でRAGを体験してみよう
tsukuboshi
0
130
Multitenant 23ai の全貌 - 機能・設計・実装・運用からマイクロサービスまで
oracle4engineer
PRO
2
110
Dapr For Java Developers SouJava 25
salaboy
1
130
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
130
Tirez profit de Messenger pour améliorer votre architecture
tucksaun
1
120
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
2
210
Explainable Software Engineering in the Public Sector
avandeursen
0
350
Road to SRE NEXT@仙台 IVRyの組織の形とSLO運用の現状
abnoumaru
0
380
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
4.9k
モジュラーモノリスでスケーラブルなシステムを作る - BASE のリアーキテクチャのいま
panda_program
7
1.9k
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
ymae
1
190
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
28
1.6k
Git: the NoSQL Database
bkeepers
PRO
429
65k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Faster Mobile Websites
deanohume
306
31k
Become a Pro
speakerdeck
PRO
27
5.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Typedesign – Prime Four
hannesfritz
41
2.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
39
7.2k
BBQ
matthewcrist
88
9.5k
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/