Slide 1

Slide 1 text

カスタムベクトルストアで RAGワークフローを カスタマイズする 2024/1/6 JAWS-UG横浜 #66 AWS re:Invent 2023 Recap Database 齋藤理沙子

Slide 2

Slide 2 text

自己紹介 齋藤理沙子 オンプレからクラウドまで、インフラまわり色々 2023 Japan AWS Jr. Champions 2023 Japan AWS All Certifications Engineers 好きなサービス:FSx for NetApp ONTAP 2

Slide 3

Slide 3 text

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/

Slide 4

Slide 4 text

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/ ベクトル化されたデータのクエリができる

Slide 5

Slide 5 text

ベクトル化のイメージ 5 Titan Multimodal Embeddings Generation 1 (G1)で テキスト“This is a test”をベクトル化してもらう 実際はもっと下に続いてます

Slide 6

Slide 6 text

データをベクトル化すると何ができる? 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 要素をマッピングして、 近接性から意味的類似性を表現する

Slide 7

Slide 7 text

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ワークフローを実装することができる

Slide 8

Slide 8 text

カスタムベクトルストアで RAGワークフローを実装する Amazon BedrockではフルマネージドのRAGワークフロー構築 (=ベクトルストアをよしなに作ってもらう)こともできる ……けど、今回はカスタムベクトルストアを構築してみる カスタムベクトルストアとして、  Amazon OpenSearch Serverless用ベクトルエンジン  Pinecone  Redis Enterprise Cloud  Amazon Aurora の4つを利用することができる 8

Slide 9

Slide 9 text

Amazon OpenSearch Serverless コレクションを作成する 9 コレクションの作成をクリック (コレクション…インデックスを論理的にグループ化したもの)

Slide 10

Slide 10 text

Amazon OpenSearch Serverless コレクションを作成する 10 コレクションタイプは「ベクトル検索」を選択する

Slide 11

Slide 11 text

Amazon OpenSearch Serverless ベクトルインデックスを作成する 11 「ベクトルインデックスの作成」をクリックする

Slide 12

Slide 12 text

Amazon OpenSearch Serverless ベクトルインデックスを作成する(続き) 12 ベクトルフィールドを追加する (ベクトルフィールド…ベクトルデータをマッピングする場所)

Slide 13

Slide 13 text

Amazon OpenSearch Serverless ベクトルインデックスを作成する(続き) テキストフィールドとメタデータフィールドを追加する (テキストフィールド…Amazon Bedrock がチャンク化したデータを保存する場所 メタデータフィールド…フィールドのデータのメタデータを保存する場所)

Slide 14

Slide 14 text

BedrockでKnowledge baseを設定する カスタムベクトルストア(Vector engine for Amazon OpenSearch Serverless)でKnowledge baseを作成するときに指定するもの  回答の基になるデータのS3 URI(フルマネージドのRAGワークフローでも指定要)  OpenSearch ServerlessコレクションのARN  コレクションのインデックス名  ベクトルフィールド名  テキストフィールド名  メタデータフィールド名 14

Slide 15

Slide 15 text

BedrockでKnowledge baseを設定する 15

Slide 16

Slide 16 text

データベースの選択 16 カスタムRAGワークフローを作成したい場合は、 ”Choose a vector store you have created” -> データベースを選択する

Slide 17

Slide 17 text

ちなみに 17 フルマネージドのRAGワークフローを作成したい場合、 “Quick create a new vector store”の方を選択する

Slide 18

Slide 18 text

Knowledge baseができた 18 Knowledge baseができたらSyncするのを忘れずに

Slide 19

Slide 19 text

ハマリポイント 19 いったんマネージドRAGワークフローを新規作成して、 よしなに設定してくれた値でベクトルストアを新規作成したら Knowledge baseを作成できた(エラーの原因分からず……) エラーが出たときはOpenSearch側のテキストフィールドとメタデータフィールドの 名前をtext, metadataとしていたが、 text -> AMAZON_BEDROCK_TEXT_CHUNK metadata -> AMAZON_BEDROCK_METADATA に変更したらKnowledge base作成できた カスタムベクトルストアでKnowledge baseを作成するとき、 こんなエラーが出た

Slide 20

Slide 20 text

RAGを使わないで回答してもらう 20 基本的にトレーニングデータに基づいて回答してくれる

Slide 21

Slide 21 text

RAGを使って回答してもらう 21 回答の基になるデータ

Slide 22

Slide 22 text

RAGを使って回答してもらう 22 “Generate responses”を オン→元データの内容を要約して返す オフ→元データの内容をそのまま返す

Slide 23

Slide 23 text

参考サイト 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

Slide 24

Slide 24 text

参考サイト 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