概要
AWS Bedrockナレッジベースツールを使用すると、既存のAWS Bedrockナレッジベースへの問い合わせ(生ドキュメントの取得、またはRAGによる回答生成)と、S3データソースへのPDFドキュメントの同期ができます。主な機能
-
AWS_BEDROCK_KNOWLEDGE_BASE- 自然言語の
queryでAWS Bedrockナレッジベースに問い合わせます。 - 2つのモード(config の
modeで設定):retrieveは生の検索結果(本文、ソースの場所、スコア、メタデータ)を返し、retrieveAndGenerate(デフォルト)は出典付きのLLM生成回答を返します。 numberOfResultsで取得するドキュメント数を制御できます(1〜100、デフォルト5)。retrieveモードでは、ガードレールが設定されている場合にguardrailAction(INTERVENEDまたはNONE)も出力されます。
- 自然言語の
-
AWS_BEDROCK_KNOWLEDGE_BASE_PDF_SYNC- 既存のBedrockナレッジベースに紐づくS3データソースへPDFをアップロードし、インジェストジョブを開始します。
pdf入力にはbase64文字列、データURL(data:application/pdf;base64,...)、または公開HTTPS URLを指定できます。- コンテンツによる重複排除: オブジェクトキーはPDFのSHA-256ハッシュから生成され、同じ内容のオブジェクトが既にS3に存在する場合はアップロードとインジェストをスキップします(
skipped: true)。 - インジェストジョブの完了を待機できます(
waitForIngestion、デフォルトtrue)。タイムアウト(ingestionTimeoutSeconds、30〜1800秒、デフォルト300)とポーリング間隔(ingestionPollIntervalSeconds、1〜60秒、デフォルト5)を設定できます。 - 出力にはS3の
bucket・objectKey、contentHash、ingestionJobId/ingestionStatusが含まれます。
認証
どちらのツールもAWSアクセスキーで認証します。config でステップごとに設定します。- accessKeyId:
AWS_ACCESS_KEY_IDの値、またはそれを含むFlowシークレット名 - secretAccessKey:
AWS_SECRET_ACCESS_KEYの値、またはそれを含むFlowシークレット名
- region: BedrockナレッジベースのAWSリージョン
- knowledgeBaseId: BedrockナレッジベースID
- dataSourceId(PDF同期のみ): 対象となるナレッジベースのS3データソースID
- s3KeyPrefix(PDF同期のみ、任意): データソースのプレフィックスの直後に追加するフォルダ。アップロード先のオブジェクトパスは
{S3バケット名}{データソースプレフィックス}{s3KeyPrefix}/...になるため、先頭の/は付けず、バケット名自体は含めないでください。
使用例
例: ナレッジベースからRAGで回答生成
例: PDFを同期して検索する
注意事項
- PDFサイズ上限: 100 MBを超えるPDFは拒否されます。
- PDF検証: ファイルは
%PDFヘッダーで始まっている必要があり、それ以外のファイル形式は拒否されます。 - HTTPSのみ:
pdf入力で安全でないhttp://URLは拒否されます。HTTPSを使用してください。 - 重複排除: アップロードされるオブジェクト名は
{sha256}.pdfです。同じコンテンツハッシュのオブジェクトが既に存在する場合、アップロードとインジェストはスキップされ、skipped: trueが返ります。 - ファイル名:
filenameはログ用途にのみ使用されます。特殊文字は置換され、100文字に切り詰められます。デフォルトはdocument.pdfです。 - インジェスト待機:
waitForIngestionがtrueの場合、インジェストジョブがFAILED・STOPPING・STOPPEDで終了したとき、またはingestionTimeoutSeconds以内に完了しなかったときはステップがエラーになります。 - 検索時の numberOfResults の上限は100です。