Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWSで構築するパターン別RAG構成解説

 AWSで構築するパターン別RAG構成解説

つくぼし

July 06, 2024
Tweet

More Decks by つくぼし

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 • ハンドルネーム ◦ つくぼし • 所属 ◦ AWS事業本部コンサルティング部 ◦

    ソリューションアーキテクト • 最近ハマっているAWSサービス ◦ AWS Application Composer • SNS/ブログ ◦ X(@tsukuboshi0755) ◦ DevelopersIO(つくぼし) 3
  2. Knowledge Bases for Amazon Bedrock 24 • 基盤モデルを⽤いてRAGを実現する Amazon Bedrockの⼀機能

    • データソースのドキュメント情報をエ ンベディングに変換し、ベクトルデー タベースに保存 • ベクトルデータベースを検索する事 で、関連性の⾼い回答を提供
  3. Ⅰ. 使⽤料⾦ 27 • Kendraは料⾦が⾼いので要注意! ◦ 現状Enterprise版の場合、最低インデックス料⾦が 1,008USD/⽉となる ◦ Developer版にするとSingle

    AZとなるが、最低イン デックス料⾦が810USD/⽉と安くなる • Knowledge Basesの料⾦はベクトルデータベースにもよ るが、ほとんどの場合Kendraよりは安くなる ◦ 基本はベクトルデータベース料⾦ + モデル利⽤料⾦
  4. Ⅱ. 対象データソース 28 • KendraはS3の他に、様々なデータソースを接続可能 ◦ AWSであれば、RDSやFSx(Windows/NetApp ONTAP)といった サービスとも接続できる ◦

    SaaSであれば、SharepointやBox、Google Drive等が利⽤できる ◦ Web Crawlerを⽤いて、特定のウェブサイトを参照する事も可能 • Knowledge BasesはS3のみデータソースとして接続可能 ◦ RDSやSaaS等を対象としたい場合、S3へのデータアップロードの 仕組みが別途必要
  5. Ⅲ. 同期実⾏スケジューリング機能 29 • Kendraは単体で同期実⾏スケジューリングを設定可能 ◦ オンデマンド(⼿動実⾏)またはスケジューリングのい ずれかを選択できる • Knowledge

    Basesは単体で同期実⾏スケジューリングを 設定できない ◦ データ同期スケリューリングの仕組み(EventBridge Scheduler + Step Functions等)が別途必要
  6. Ⅳ. 検索フィルタリング機能 30 • Kendraはメタデータによるフィルタリング、CDEによるメタデータ⾃動付与、 及びACLによるフィルタリングを実施可能 ◦ メタデータをファイル毎に付与する事で、ファイル単位でフィルタリング できる ◦

    CDE(Contents Data Enrichment)を設定する事で、メタデータの⾃動付与 を⽐較的簡単に実現できる ◦ ACL(Access Control List)を設定すると、認証サーバと連携し、特定のユー ザ‧グループ権限毎にプレフィックス単位でフィルタリングできる • Knowledge Basesはメタデータによるフィルタリングのみ実施可能 ◦ メタデータを⾃動付与したい場合、Lambda等でのメタデータ付与システ ムの仕組みが別途必要
  7. Ⅴ. チャンキング戦略 31 • Kendraはチャンキング戦略を設定不可 • Knowledge Basesはチャンキング戦略を、以下から変更可能 ◦ デフォルトのチャンキング:各ファイルを300

    の最⼤トークン数 を持つチャンクに分割し処理する ◦ 固定サイズのチャンキング:各ファイルを20 ~ 8192 の間で指定 した最⼤トークン数を持つチャンクに分割し処理する ◦ チャンキング無し:各ファイルをそのままチャンクとして処理す る
  8. Ⅰ. 東京リージョン対応 41 • OpenSearch及びAuroraは、東京リージョンに対応 済 ◦ ただし使⽤できるBedrockモデルには制限があ るため注意 •

    Pineconeは、現状東京リージョンは未対応 ◦ 海外リージョンのKnowledge Bases及びS3を使 ⽤する必要がある
  9. Ⅱ. 使⽤料⾦ 42 • OpenSearchは、東京リージョンの場合、最低OCU料⾦が 977.952USD(OCU:4)となる ◦ アクティブレプリカを無効にする事で、Single AZとなるが最低OCU料⾦は 488.976USD/⽉(OCU:2)となる

    • Aurora (Serverless v2)は、東京リージョンの場合、最低ACU料⾦が 73.2USD(ACU:0.5)となる ◦ EventBridgeによりDBの起動停⽌スケジュールを設定する事で、RAGを使 ⽤していない時間の料⾦を削減可能 • Pinecone (Serverless)は、Standardプランかつバージニアリージョンの場合、 最低Units料⾦が10.25USD(Read:1/Write:1)となる ◦ VPCに配置してPrivate Link接続したい場合は、Enterpriseプランにする必 要があり、最低Units料⾦が20.5USD(Read:1/Write:1)に上がるため注意
  10. Ⅲ. ハイブリッド検索 43 • OpenSearchではハイブリッド検索を使⽤可能 ◦ ハイブリッド検索 :セマンティック検索と全⽂検索 の両⽅を実⾏する検索⽅法。現状Knowledge Bases

    ではOpenSearchのみ有効化可能。 ◦ さらにアナライザー(⼊⼒されたテキストの前処理を するフィルタ機能)として⽇本語対応プラグインを指 定する事で、回答精度の向上が⾒込める。 • Aurora及びPineconeは利⽤不可
  11. Ⅴ. ネットワーク運⽤ 45 • OpenSearch及びPineconeは、VPCの有無を選択可能 ◦ VPCなしにする事で、ネットワーク運⽤を考慮する必要がなくな る ◦ VPCありにする事で、Private

    Linkを⽤いたプライベート接続が可 能(Pineconeは現状パブリックプレビュー版のため注意) • Auroraは必ずVPCが必要 ◦ Private Linkを⽤いたプライベート接続は可能な⼀⽅で、ネット ワーク運⽤の⼿間が必然的に発⽣する
  12. オススメのRAG構成パターン別⽐較表 49 比較観点 Kendra & Bedrock Knowledge Bases with OpenSearch

    Knowledge Bases with Aurora Knowledge Bases with Pinecone 使用料金 やや高~高 中~やや高 やや低~中 低 対象データソース S3/RDS/FSx(Windows・ONTAP)/ 各種SaaS/Web Crawler S3 S3 S3 同期実行 スケジューリング機能 あり なし なし なし 検索フィルタリング機能 メタデータ(自動付与機能あり)/ACL メタデータ(自動付与機能なし) メタデータ(自動付与機能なし) メタデータ(自動付与機能なし) チャンキング戦略 なし あり あり あり 東京リージョン対応 あり あり あり 現時点ではなし ハイブリッド検索 なし あり なし なし シークレット運用 S3との接続には不要 RDS/FSx/各種SaaS/Web Crawler との接続には原則必要 不要 必要 必要 ネットワーク運用 デフォルトは不要 デフォルトは不要 必要 デフォルトは不要
  13. 参考⽂献 61 • [RAGの性能を改善するための8つの戦略 \| Fintan](https://fintan.jp/page/10301/) • [⽣成系 AI アプリケーションでベクトルデータストアが果たす役割とは

    \| Amazon Web Services ブロ グ](https://aws.amazon.com/jp/blogs/news/the-role-of-vector-datastores-in-generative -ai-applications/) • [AWS ⼊⾨ブログリレー 2024 〜Amazon Kendra編〜 \| DevelopersIO](https://dev.classmethod.jp/articles/introduction-2024-amazon-kendra/) • [AWS ⼊⾨ブログリレー 2024 〜Knowledge bases for Amazon Bedrock編〜 \| DevelopersIO](https://dev.classmethod.jp/articles/introduction-2024-knowledge-bases -for-amazon-bedrock/) • [Amazon Bedrock ⽣成AIアプリ開発⼊⾨ \[AWS深掘りガイド\] \| SBクリエイティ ブ](https://www.sbcr.jp/product/4815626440/)
  14. 63