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
160
カスタムベクトルストアで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
180
ECSでGuardDutyのRuntime Monitoringを使ってみる
risako
0
700
2023/11/30 JAWS-UG CLI支部
risako
0
100
Lambdaでカスタムウィジェットを作ろう
risako
0
220
ノイジーネイバーにさようなら FSx for NetApp ONTAP の QoS 機能~
risako
0
100
コマンドで楽々!リソースをTerraformコードにエクスポート
risako
0
110
徹底比較!RDS&RDSCustom@20230926_JAWS朝会#49
risako
2
210
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Documentation Writing (for coders)
carmenintech
65
4.4k
Designing Experiences People Love
moore
138
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Happy Clients
brianwarren
98
6.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Navigating Team Friction
lara
183
14k
Visualization
eitanlees
145
15k
A Tale of Four Properties
chriscoyier
156
23k
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