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
210
カスタムベクトルストアで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.5k
2023/11/30 JAWS-UG CLI支部
risako
0
150
Lambdaでカスタムウィジェットを作ろう
risako
0
330
ノイジーネイバーにさようなら FSx for NetApp ONTAP の QoS 機能~
risako
0
160
コマンドで楽々!リソースをTerraformコードにエクスポート
risako
0
160
徹底比較!RDS&RDSCustom@20230926_JAWS朝会#49
risako
2
270
Featured
See All Featured
Building an army of robots
kneath
306
46k
Building Applications with DynamoDB
mza
96
6.9k
Speed Design
sergeychernyshev
33
1.5k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
200
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
My Coaching Mixtape
mlcsv
0
23
We Are The Robots
honzajavorek
0
130
Writing Fast Ruby
sferik
630
62k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Tell your own story through comics
letsgokoyo
1
780
ラッコキーワード サービス紹介資料
rakko
0
2M
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