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.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AmazonBedrockを使用した自作RAGの作り方
【connpass】
DAIMYO Meetup #4
https://nulab.connpass.com/event/307954/
そのだ
February 28, 2024
More Decks by そのだ
See All by そのだ
DGX Sparkを2台つないで 最強ローカルLLM環境を動かしてみた話
sonoda_mj
0
140
AGENTS.mdとSkillsで始めるAIエージェント活用
sonoda_mj
3
250
Google_ADKのSub_AgentをAgentic_Workflowに移行し_遷移成功率を改善した話.pdf
sonoda_mj
1
140
仕事はAIに任せてラスベガスへ行きたいのでDSPyで自分のクローンを作った
sonoda_mj
1
170
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
2.8k
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
1
2.1k
Amazon Bedrock Knowledge Basesに Data Autometionを導入してみた
sonoda_mj
1
250
Amazon Bedrock Knowledge basesにLangfuse導入してみた
sonoda_mj
2
1.2k
AIエージェントに脈アリかどうかを分析させてみた
sonoda_mj
2
440
Other Decks in Technology
See All in Technology
データと地図で読む 大井町の「かわるもの、かわらないもの」
yoshiyama_hana
0
900
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
620
現場で使える AWS DevOps Agent 活用ノウハウ - Release Management 機能の検証結果を添えて / AWS DevOps Agent Release Management and Know-How
kinunori
5
840
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
8
2.1k
VPCセキュリティ対応の最新事情
nagisa53
2
350
ガバメントクラウドでのランサムウェア対策
techniczna
1
530
AI研修(Day1)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
3.2k
AI工学特論: MLOps・継続的評価
asei
11
3.1k
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
0
780
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
230
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
170
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.5k
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
250
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Believing is Seeing
oripsolob
1
180
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
410
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Six Lessons from altMBA
skipperchong
29
4.4k
The Language of Interfaces
destraynor
162
27k
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/