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
100
カスタムベクトルストアでRAGワークフローをカスタマイズする
JAWS-UG横浜 #66 AWS re:Invent 2023 Recap Database
Pretzelisa
January 20, 2024
Tweet
Share
More Decks by Pretzelisa
See All by Pretzelisa
ECSでGuardDutyのRuntime Monitoringを使ってみる
risako
0
200
2023/11/30 JAWS-UG CLI支部
risako
0
67
Lambdaでカスタムウィジェットを作ろう
risako
0
130
ノイジーネイバーにさようなら FSx for NetApp ONTAP の QoS 機能~
risako
0
46
コマンドで楽々!リソースをTerraformコードにエクスポート
risako
0
85
徹底比較!RDS&RDSCustom@20230926_JAWS朝会#49
risako
2
160
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1.1k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Automating Front-end Workflow
addyosmani
1357
200k
Thoughts on Productivity
jonyablonski
60
3.9k
GraphQLの誤解/rethinking-graphql
sonatard
56
9.3k
The Invisible Customer
myddelton
114
12k
Atom: Resistance is Futile
akmur
260
25k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
8
3.5k
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