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ワークフローをカスタマイズする
Search
Pretzelisa
January 20, 2024
1
200
カスタムベクトルストアでRAGワークフローをカスタマイズする
JAWS-UG横浜 #66 AWS re:Invent 2023 Recap Database
Pretzelisa
January 20, 2024
Tweet
Share
More Decks by Pretzelisa
See All by Pretzelisa
JAWS-UG朝会_20240614
risako
1
200
ECSでGuardDutyのRuntime Monitoringを使ってみる
risako
0
1.4k
2023/11/30 JAWS-UG CLI支部
risako
0
140
Lambdaでカスタムウィジェットを作ろう
risako
0
330
ノイジーネイバーにさようなら FSx for NetApp ONTAP の QoS 機能~
risako
0
160
コマンドで楽々!リソースをTerraformコードにエクスポート
risako
0
150
徹底比較!RDS&RDSCustom@20230926_JAWS朝会#49
risako
2
260
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
660
The World Runs on Bad Software
bkeepers
PRO
72
12k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
What's in a price? How to price your products and services
michaelherold
246
12k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
GitHub's CSS Performance
jonrohan
1032
470k
The Cult of Friendly URLs
andyhume
79
6.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Writing Fast Ruby
sferik
630
62k
Transcript
カスタムベクトルストアで RAGワークフローを カスタマイズする 2024/1/6 JAWS-UG横浜 #66 AWS re:Invent 2023 Recap
Database 齋藤理沙子
自己紹介 齋藤理沙子 オンプレからクラウドまで、インフラまわり色々 2023 Japan AWS Jr. Champions 2023 Japan
AWS All Certifications Engineers 好きなサービス:FSx for NetApp ONTAP 2
re:Invent2023期間のアップデート 3 AWS「Amazon OpenSearch Serverless 用ベクトルエンジン」 https://aws.amazon.com/jp/opensearch-service/serverless-vector-engine/ Amazon OpenSearch Serverless
用ベクトルエンジンがGA Amazon Web Servicesブログ 「Amazon OpenSearch Serverless 用ベクトルエンジンが利用可能になりました」 https://aws.amazon.com/jp/blogs/news/vector-engine-for-amazon-opensearch- serverless-is-now-generally-available/
re:Invent2023期間のアップデート 4 AWS「Amazon OpenSearch Serverless 用ベクトルエンジン」 https://aws.amazon.com/jp/opensearch-service/serverless-vector-engine/ Amazon OpenSearch Serverless
用ベクトルエンジンがGA Amazon Web Servicesブログ 「Amazon OpenSearch Serverless 用ベクトルエンジンが利用可能になりました」 https://aws.amazon.com/jp/blogs/news/vector-engine-for-amazon-opensearch- serverless-is-now-generally-available/ ベクトル化されたデータのクエリができる
ベクトル化のイメージ 5 Titan Multimodal Embeddings Generation 1 (G1)で テキスト“This is
a test”をベクトル化してもらう 実際はもっと下に続いてます
データをベクトル化すると何ができる? 6 Amazon Web Servicesブログ「生成系 AI アプリケーションでベクトルデータストアが果たす役割とは」 https://aws.amazon.com/jp/blogs/news/the-role-of-vector-datastores-in-generative-ai-applications/ セマンティック検索、テキスト分類、 RAGの実装などができる
RAG(Retrieval Augmented Generation, 検索拡張生成)…データソースから情報を取得し、 それを基に回答を生成する手法 ⚫ Keyword A ⚫ Keyword B ⚫ Keyword C ⚫ Keyword D ⚫ Keyword E 要素をマッピングして、 近接性から意味的類似性を表現する
RAGワークフロー 7 Amazon Web Services ブログ「ナレッジベースは、Amazon Bedrock でフルマネージド型の RAG エクス
ペリエンスを提供するようになりました」 https://aws.amazon.com/jp/blogs/news/knowledge-bases-now-delivers-fully-managed-rag- experience-in-amazon-bedrock/ AWS「RAG とは何ですか?」 https://aws.amazon.com/jp/what-is/retrieval-augmented-generation/ 指定したデータソースからの情報を基にAIに回答生成してもらいたい →入力プロンプトに関連するデータを抽出して、それを要約してもらう AWSではBedrockにKnowledge base(データソース)の情報を データベースにマッピングさせることで、 RAGワークフローを実装することができる
カスタムベクトルストアで RAGワークフローを実装する Amazon BedrockではフルマネージドのRAGワークフロー構築 (=ベクトルストアをよしなに作ってもらう)こともできる ……けど、今回はカスタムベクトルストアを構築してみる カスタムベクトルストアとして、 Amazon OpenSearch
Serverless用ベクトルエンジン Pinecone Redis Enterprise Cloud Amazon Aurora の4つを利用することができる 8
Amazon OpenSearch Serverless コレクションを作成する 9 コレクションの作成をクリック (コレクション…インデックスを論理的にグループ化したもの)
Amazon OpenSearch Serverless コレクションを作成する 10 コレクションタイプは「ベクトル検索」を選択する
Amazon OpenSearch Serverless ベクトルインデックスを作成する 11 「ベクトルインデックスの作成」をクリックする
Amazon OpenSearch Serverless ベクトルインデックスを作成する(続き) 12 ベクトルフィールドを追加する (ベクトルフィールド…ベクトルデータをマッピングする場所)
Amazon OpenSearch Serverless ベクトルインデックスを作成する(続き) テキストフィールドとメタデータフィールドを追加する (テキストフィールド…Amazon Bedrock がチャンク化したデータを保存する場所 メタデータフィールド…フィールドのデータのメタデータを保存する場所)
BedrockでKnowledge baseを設定する カスタムベクトルストア(Vector engine for Amazon OpenSearch Serverless)でKnowledge baseを作成するときに指定するもの
回答の基になるデータのS3 URI(フルマネージドのRAGワークフローでも指定要) OpenSearch ServerlessコレクションのARN コレクションのインデックス名 ベクトルフィールド名 テキストフィールド名 メタデータフィールド名 14
BedrockでKnowledge baseを設定する 15
データベースの選択 16 カスタムRAGワークフローを作成したい場合は、 ”Choose a vector store you have created”
-> データベースを選択する
ちなみに 17 フルマネージドのRAGワークフローを作成したい場合、 “Quick create a new vector store”の方を選択する
Knowledge baseができた 18 Knowledge baseができたらSyncするのを忘れずに
ハマリポイント 19 いったんマネージドRAGワークフローを新規作成して、 よしなに設定してくれた値でベクトルストアを新規作成したら Knowledge baseを作成できた(エラーの原因分からず……) エラーが出たときはOpenSearch側のテキストフィールドとメタデータフィールドの 名前をtext, metadataとしていたが、 text
-> AMAZON_BEDROCK_TEXT_CHUNK metadata -> AMAZON_BEDROCK_METADATA に変更したらKnowledge base作成できた カスタムベクトルストアでKnowledge baseを作成するとき、 こんなエラーが出た
RAGを使わないで回答してもらう 20 基本的にトレーニングデータに基づいて回答してくれる
RAGを使って回答してもらう 21 回答の基になるデータ
RAGを使って回答してもらう 22 “Generate responses”を オン→元データの内容を要約して返す オフ→元データの内容をそのまま返す
参考サイト Amazon Web Servicesブログ「Amazon OpenSearch Serverless 用ベクト ルエンジンが利用可能になりました」 https://aws.amazon.com/jp/blogs/news/vector-engine-for-amazon- opensearch-serverless-is-now-generally-available/
AWS「Amazon OpenSearch Serverless 用ベクトルエンジン」 https://aws.amazon.com/jp/opensearch-service/serverless-vector- engine/ Amazon Web Servicesブログ「生成系 AI アプリケーションでベクトルデー タストアが果たす役割とは」 https://aws.amazon.com/jp/blogs/news/the-role-of-vector-datastores- in-generative-ai-applications/ 23
参考サイト Amazon Web Services ブログ「ナレッジベースは、Amazon Bedrock でフルマネージド型の RAG エクスペリエンスを提供するよう になりました」
https://aws.amazon.com/jp/blogs/news/knowledge-bases-now- delivers-fully-managed-rag-experience-in-amazon-bedrock/ AWS「RAG とは何ですか?」 https://aws.amazon.com/jp/what-is/retrieval-augmented- generation/ 24