powered by TechFeed
表示モード
Amazon

S3上のPDFをRAG検索可能なインデックスに自動変換 — AWSがパイプライン構築不要のフルマネージド取り込み機能を提供

10月24日、AWSが「Build RAG-ready indexes from Amazon S3 with Amazon OpenSearch intelligent ingestion」と題した記事を公開した。S3上のPDFやWordファイルを指定するだけで、パイプライン構築なしにRAG対応ベクトルインデックスへ自動変換する新機能「Amazon OpenSearch intelligent ingestion」の詳細が紹介されている。1,000PDFページあたり約$0.40という具体的なコスト試算も示されており、本番導入を検討するチームにとって判断材料となる情報が揃っている。なお、現時点ではAmazon OpenSearch Serverless(NextGen)限定・6リージョンのみの提供であり、導入前に制約の確認が必要だ。RAGパイプラインの"泥臭い部分"を丸ごとマネージドにRAGシステムを実装する際、最も手間がかかるのはLLMの選定ではなく、その手前のデータ整備だ。PDFやWordファイルからテキストとレイアウトをどう抽出するか、図表や画像をどう扱うか、チャンクサイズをどう...

10月24日、AWSが「Build RAG-ready indexes from Amazon S3 with Amazon OpenSearch intelligent ingestion」と題した記事を公開した。S3上のPDFやWordファイルを指定するだけで、パイプライン構築なしにRAG対応ベクトルインデックスへ自動変換する新機能「Amazon OpenSearch intelligent ingestion」の詳細が紹介されている。1,000PDFページあたり約$0.40という具体的なコスト試算も示されており、本番導入を検討するチームにとって判断材料となる情報が揃っている。なお、現時点ではAmazon OpenSearch Serverless(NextGen)限定・6リージョンのみの提供であり、導入前に制約の確認が必要だ。

RAGパイプラインの"泥臭い部分"を丸ごとマネージドに

RAGシステムを実装する際、最も手間がかかるのはLLMの選定ではなく、その手前のデータ整備だ。PDFやWordファイルからテキストとレイアウトをどう抽出するか、図表や画像をどう扱うか、チャンクサイズをどう決めるか、埋め込みモデルとベクトルインデックスをどう繋ぐか——これらのパイプライン構築に「数週間」費やすチームも珍しくない。

Amazon OpenSearch intelligent ingestionは、この一連の作業をフルマネージドで提供する。ユーザーが指定するのは「S3のソース(バケット+プレフィックス)」と「OpenSearch Serverlessのインデックス(宛先)」の2点のみ。あとはサービス側が自動で処理する。

現時点の制約

本機能は現在、Amazon OpenSearch Serverless(NextGen)コレクション限定での提供となっており、データソースはAmazon S3のみに対応している。利用可能リージョンは6リージョンに限られる。クロスアカウントのS3バケットにも対応しているが、その場合は対象アカウントのIAMロールARNとAmazon SQS(Simple Queue Service)のARNを明示的に指定する必要がある。利用前にこれらの制約を確認しておきたい。

具体的に何をやってくれるのか

処理フローは以下の通りだ:

  1. データ発見 — S3プレフィックス以下のオブジェクトを自動スキャン。Ingestion Streamの場合はAmazon SQS通知を使いリアルタイム検出
  2. ドキュメント解析 — PDFやWordを、見出し・読み順・表を保持したまま構造化コンテンツに変換
  3. 画像理解 — PDF/Word内の図表・スクリーンショット・写真をビジョン言語モデル(Amazon Nova 2 Lite※)がテキスト記述に変換し、画像内の情報も検索対象にする
  4. チャンキングと埋め込み生成 — 検索に適したチャンクサイズに分割し、OpenSearch Automatic Semantic Enrichmentでベクトル埋め込みを生成
  5. インデックス書き込み — チャンク・スパース埋め込み・メタデータをインデックスに格納。OCU(OpenSearch Compute Unit)の上限設定に従い容量を自動スケール

※「Amazon Nova 2 Lite」は元記事に記載のモデル名をそのまま使用している。執筆時点で一般公開情報としての確認が取れていない名称のため、最新情報はAmazon Nova製品ページを参照されたい。

対応フォーマットは、非構造化データ(PDF、Word、テキスト、Markdown)と構造化データ(JSON、NDJSON、CSVなど)の両方。アプリケーションログや製品カタログも同じインターフェースで取り込める。

Ingestion JobとIngestion Streamの使い分け

Ingestion Job Ingestion Stream
向いているケース 固定データセットの一括ロード データが継続的に追加・更新される場合
典型的な用途 初期ロード、マイグレーション、PoC 継続更新されるナレッジベース
動作 プレフィックス以下を全件処理して終了 新規オブジェクトの到着に合わせてインデックスを同期し続ける

既存データが存在するバケットに対してStreamを張る場合は、「Batch then stream」モードを使う。初回バックフィルを実行してから継続監視に切り替わる。

コスト感

構造化データ(JSON等):処理中のみOCU料金が発生。ジョブ完了後は自動停止。

非構造化データ(PDF等):追加のパーシングとチャンキング処理が入る。AWSの内部テストによれば、1OCUで1時間あたりPDF 600ページを処理でき、コストは1,000PDFページあたり約$0.40。

画像処理:Amazon BedrockのNova 2 Lite料金がそのまま適用される(入力$0.30/1Mトークン、出力$2.50/1Mトークン)。内部テストでは1,000画像あたり約$1.40。

課金は処理中の時間に対してのみ発生し、アイドル状態での費用はかからない。

詳細はBuild RAG-ready indexes from Amazon S3 with Amazon OpenSearch intelligent ingestionを参照していただきたい。