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.3k
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
1.1k
Amazon Bedrock Knowledge Basesに Data Autometionを導入してみた
sonoda_mj
1
110
Amazon Bedrock Knowledge basesにLangfuse導入してみた
sonoda_mj
2
940
AIエージェントに脈アリかどうかを分析させてみた
sonoda_mj
2
270
Amazon Bedrock Knowledge Basesのアップデート紹介
sonoda_mj
2
530
Snowflake未経験の人がSnowflakeに挑戦してみた
sonoda_mj
1
200
生成AIアプリのアップデートと配布の課題をCDK Pipelinesで解決してみた
sonoda_mj
0
470
AWSでRAGを作る方法
sonoda_mj
1
600
緑一色アーキテクチャ
sonoda_mj
2
300
Other Decks in Technology
See All in Technology
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
340
初海外がre:Inventだった人間の感じたこと
tommy0124
1
200
GTC 2025 : 가속되고 있는 미래
inureyes
PRO
0
150
実践マルチモーダル検索!
shibuiwilliam
3
580
NOT A HOTEL SOFTWARE DECK (2025/11/06)
notahotel
0
3.2k
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
1
250
設計は最強のプロンプト - AI時代に武器にすべきスキルとは?-
kenichirokimura
1
140
最近読んで良かった本 / Yokohama North Meetup #10
mktakuya
0
900
Databricks Free Editionで始めるMLflow
taka_aki
0
800
20251102 WordCamp Kansai 2025
chiilog
1
550
AIを使ってテストを楽にする
kworkdev
PRO
0
420
Pythonで構築する全国市町村ナレッジグラフ: GraphRAGを用いた意味的地域検索への応用
negi111111
0
120
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
The Cult of Friendly URLs
andyhume
79
6.7k
Writing Fast Ruby
sferik
630
62k
Faster Mobile Websites
deanohume
310
31k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Making Projects Easy
brettharned
120
6.4k
Gamification - CAS2011
davidbonilla
81
5.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
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/