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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

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

Avatar for つくぼし

つくぼし

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