![[アップデート] Amazon Bedrock Knowledge Bases のマルチモーダル検索が一般提供開始されました #AWSreInvent](https://images.ctfassets.net/ct0aopd36mqt/33a7q65plkoztFWVfWxPWl/a718447bea0d93a2d461000926d65428/reinvent2025_devio_update_w1200h630.png?w=3840&fm=webp)
[アップデート] Amazon Bedrock Knowledge Bases のマルチモーダル検索が一般提供開始されました #AWSreInvent
こんにちは!クラウド事業本部コンサルティング部のたかくに(@takakuni_)です。
Amazon Bedrock Knowledge Bases のマルチモーダル検索が一般提供を開始しました。
ついにきましたね。早速、アップデートを見てみましょう。
アップデート内容
内容重複しますが、文字通り、「Amazon Bedrock Knowledge bases でマルチモーダルな検索が一般提供されるでようになりました。」というものです。
re:Invent 2024 にて、Amazon Bedrock Knowledge bases のマルチモーダルな検索機能がパブリックプレビューとしてリリースされていました。
=re:Invent 2025 で、この機能含めて、マルチモーダルな検索が一般提供を開始しました!(やったね)
Amazon Nova Multimodal Embeddings をサポート
今回のアップデートで、Amazon Bedrock Knowledge Bases の埋め込みモデルに「Amazon Nova Multimodal Embeddings」が使えるようになりました。
よって、マルチモーダルな埋め込み手法として、パーサーとして Amazon Bedrock Data Automation (以後、BDA) を利用するか、埋め込みモデルで Amazon Nova Multimodal Embeddings を利用するかの 2 パターンが選択できるようになりました。
アプローチが異なる
先ほど述べた、マルチモーダルな埋め込み手法として、「パーサーとして Amazon Bedrock Data Automation を利用するか」、「埋め込みモデルで Amazon Nova Multimodal Embeddings を利用するか」ですが、それぞれのアプローチが異なります。
おさらいとして、Amazon Bedrock Knowlege beses の埋め込み処理は以下のように、パーシング処理を経由して、エンべディング処理を行います。

従来サポートされていた BDA は、音声や画像をテキストに変換するためのパーサーとして利用されます。
そのため、最終的にエンべディングするデータ形式は、テキストデータになります。

対して、Amazon Nova Multimodal Embeddings は、音声や画像をエンべディング可能なモデルとなっています。
そのため、BDA で行っていたパース処理を行わず、直接エンべディングしてベクトルデータベースへ格納します。

まずは、この違いを覚えておきましょう。
検索方式も増えた
Amazon Bedrock Knowledge Bases が、Amazon Nova Multimodal Embeddings を埋め込みモデルとしてサポートしたことで、画像を使った類似検索もできるようになりました。
今回のアップデート前まで BDA Only の仕組みでは、テキスト検索のみサポートしていた状況でした。Amazon Nova Multimodal Embeddings で、画像をエンべディングできるようになったのはありがたいですね。
Image-based queries allow users to upload images and find visually similar content
ただし、この画像検索は Retrieve API のみ現状サポートしており、RetrieveAndGenerate API では引き続き、画像をインプットに回答生成は難しいようです。[1] [2]
Amazon Nova Multimodal Embeddings の方が良いのか?
Retrieve API で画像検索ができるため、Amazon Nova Multimodal Embeddings が良さそうに思えます [3] が、検索したいユースケースによって、使い分けが推奨されています。
具体的には次のとおりです。このように案内があるのはありがたいですね。
| コンテンツタイプ | Amazon Nova Multimodal Embeddings | Amazon Bedrock Data Automation |
|---|---|---|
| 製品カタログ/画像 | (推奨) 視覚的な類似性マッチングと画像ベースのクエリが可能 | (限定的) OCR を通じてのみテキストを抽出するケースは有効 |
| 会議の録音と通話 | (推奨) 発話内容を意味のある形で処理できない | (推奨) 完全な音声文字変換と検索可能なテキストが提供可能 |
| トレーニングおよび教育ビデオ | (部分的) 視覚コンテンツは処理できるが、音声は処理できない | (推奨) 音声トランスクリプトと視覚的な説明の両方をキャプチャします |
| カスタマーサポートの録音 | (推奨されません) 音声コンテンツを効果的に処理できません | (推奨) 検索可能な完全な会話記録を作成します |
| 技術図表 | (推奨) 視覚的な類似性とパターンマッチングに最適 | (限定的) テキストラベルは抽出できるが、視覚的な関係は抽出できない |
機能差
その他、気になる部分をかいつまんで紹介します。
リージョン
まず初めにリージョンです。Amazon Nova Multimodal Embeddings は現状、バージニア北部リージョンのみサポートです。
対して、BDA では 以下のリージョンがサポートされています。
- US West (Oregon)
- US East (N. Virginia)
- Europe (Frankfurt)
- Europe (London)
- Europe (Ireland)
- Asia Pacific (Mumbai)
- Asia Pacific (Sydney)
- AWS GovCloud (US-West)
日本語対応可否
どちらもサポートしていそうです。
Amazon Nova Multimodal Embeddings
AWS AI Service Cards をみると、「We curated data from over 200 languages for Amazon Nova Multimodal Embeddings」と、明示的に日本語をサポートしていると表現はされていませんでした。
ただし、「see Amazon Nova User Guide.」に従い、Amazon Nova User Guide を確認してみると、一般的な Nova の世界では、日本語をサポートしていると記載されているため、おそらくサポートされているのではないかと思います。
1: Optimized for these 15 languages: English, German, Spanish, French, Italian, Japanese, Korean, Arabic, Simplified Chinese, Russian, Hindi, Portuguese, Dutch, Turkish, and Hebrew.
Amazon Bedrock Data Automation
サポートされています。ただし、縦書きのテキストはサポートされていないため注意です。(あるあるですね)
Text can be text aligned horizontally within the document. Horizontally arrayed text can be read regardless of the degree of rotation of a document. BDA does not support vertical text (text written vertically, as is common in languages like Japanese and Chinese) alignment within the document.
ちなみにですが、日本語のサポートは最近ありました。ありがてぇ...
サポートしている拡張子の違い
サポートされている拡張子が若干異なります。
やや Amazon Nova Multimodal Embeddings の方が優勢ですね。
| File Type | Nova Multimodal Embeddings | Bedrock Data Automation (BDA) |
|---|---|---|
| Images | .png, .jpg, .jpeg, .gif, .webp | .png, .jpg, .jpeg |
| Audio | .mp3, .ogg, .wav | .amr, .flac, .m4a, .mp3, .ogg, .wav |
| Video | .mp4, .mov, .mkv, .webm, .flv, .mpeg, .mpg, .wmv, .3gp | .mp4, .mov |
| Documents | テキストとして処理する | .pdf (画像からのテキスト抽出も行う) |
ただし、音声(素の音声ファイルや、動画ファイル内の音声)に関して、検索をかけたい場合は、 BDA 側の方が推奨されています。
Nova Multimodal Embeddings cannot effectively process speech content in audio or video files. If your multimedia content contains important spoken information that users need to search, choose the BDA approach to ensure full transcription and searchability.
やってみた
それでは、実際にナレッジベースを作成して、それぞれの違いを試してみます。
今回は干支の動物画像をナレッジベースに登録して検索をかけてみます。
干支の画像一覧
BDA パーサーのみ
まずは従来の BDA からスタートします。ナレッジベースの作成から、「kb-bda」としました。

データソースは S3 を選び、パーサー処理です。デフォルトパーサー、BDA、基礎モデルと 3 つ選択肢が表示されています。
今回は BDA を選択します。

エンべディングモデルは、 BDA によって最終的にテキストを埋め込みするため、Titan Text Embeddings V2 を選びます。

ベクトルデータストアは S3 Vectors を選択して作成します。

同期処理をかけてみました。12 のファイルに対して、5 分ほどかかっていますね。

ベクトル検索を行ってみます。エンべディングモデルとして選択した、Amazon Titan Text Embedding v2 は英語を標準サポート、日本語はプレビューサポートのため、まずは英語で検索してみます。「cow」と検索すると、牛が出てきましたね。

日本語で「牛」と検索すると、犬が出てきました。

リランクをかけると、うまく牛が返ってきますね。

S3 Vectors の中身を格納してみましょう。
※もし、ご自身でトライしたい場合は VECTOR_BUCKET_NAME, VECTOR_INDEX_NAME を変更してください。
import base64
import json
import sys
import boto3
REGION = "us-east-1"
MODEL_ID = "amazon.titan-embed-text-v2:0"
DIMENSION = 1024
VECTOR_BUCKET_NAME = "bedrock-knowledge-base-s7yi88"
VECTOR_INDEX_NAME = "bedrock-knowledge-base-default-index"
bedrock = boto3.client("bedrock-runtime", region_name=REGION)
s3vectors = boto3.client("s3vectors", region_name=REGION)
query = sys.argv[1]
response = bedrock.invoke_model(
modelId=MODEL_ID,
body=json.dumps(
{
"inputText": query,
"dimensions": DIMENSION,
}
),
)
response_body = json.loads(response["body"].read())
embedding = response_body["embedding"]
response = s3vectors.query_vectors(
vectorBucketName=VECTOR_BUCKET_NAME,
indexName=VECTOR_INDEX_NAME,
queryVector={"float32": embedding},
topK=3,
returnDistance=True,
returnMetadata=True,
)
print(json.dumps(response["vectors"], indent=2))
ベクトルバケット内を確認すると、AMAZON_BEDROCK_TEXT に BDA がテキスト化した内容が格納されていますね。
takakuni@ multimodal % uv run main.py cow
[
{
"key": "979900bc-b2dc-4a02-aceb-18b04e0a2c69",
"metadata": {
"AMAZON_BEDROCK_TEXT": "This image shows a cartoon illustration of a cow with a black and white body, a red nose, and yellow horns. The cow is depicted in a simple, stylized manner with exaggerated features, such as large eyes and a wide mouth. The cow is standing on a black background, and its tail is visible on the right side of the image. The overall style of the illustration is playful and whimsical, suggesting it might be part of a children's book or educational material.",
"AMAZON_BEDROCK_METADATA": "{\"text\":null,\"author\":null,\"createDate\":\"2025-12-02T12:46:35Z\",\"modifiedDate\":\"2025-12-02T12:46:35Z\",\"source\":{\"sourceLocation\":\"s3://multimodal-2025-12-01-123456789012/contents/eto_remake_ushi.png\",\"sourceType\":null},\"descriptionText\":null,\"pageNumber\":null,\"pageSizes\":null,\"graphDocument\":{\"entities\":[]},\"parentText\":null,\"relatedContents\":[{\"locationType\":\"S3\",\"s3Location\":{\"uri\":\"s3://multimodal-out-2025-12-01-123456789012/aws/bedrock/knowledge_bases/99IHDPO2PQ/2QXIDHF9II/b5bf39af-0b7e-4fa1-977a-183f33eae8f2.png\"}}],\"sourceDocumentId\":\"FJyBQGITnOIBecEs/buuYGwErC5w/ryaLjLiNBexU+bPOIF7OyF7LthUNzTvZIn5\",\"additionalMetadata\":null}",
"x-amz-bedrock-kb-source-file-modality": "IMAGE",
"x-amz-bedrock-kb-source-file-mime-type": "image/png",
"x-amz-bedrock-kb-data-source-id": "2QXIDHF9II",
"x-amz-bedrock-kb-document-page-number": 0.0
},
"distance": 1.2734625339508057
},
{
"key": "897ebcae-bc2d-4119-adc3-aaa6735ac68b",
"metadata": {
"x-amz-bedrock-kb-document-page-number": 0.0,
"AMAZON_BEDROCK_METADATA": "{\"text\":null,\"author\":null,\"createDate\":\"2025-12-02T12:46:30Z\",\"modifiedDate\":\"2025-12-02T12:46:30Z\",\"source\":{\"sourceLocation\":\"s3://multimodal-2025-12-01-123456789012/contents/eto_hitsuji_kagamimochi.png\",\"sourceType\":null},\"descriptionText\":null,\"pageNumber\":null,\"pageSizes\":null,\"graphDocument\":{\"entities\":[]},\"parentText\":null,\"relatedContents\":[{\"locationType\":\"S3\",\"s3Location\":{\"uri\":\"s3://multimodal-out-2025-12-01-123456789012/aws/bedrock/knowledge_bases/99IHDPO2PQ/2QXIDHF9II/cecc2b2a-0241-44a0-a509-d41a40cc90ca.png\"}}],\"sourceDocumentId\":\"OKgT9G3/dgz7rBIuH6WKHYt32sYYf/oLOYnB3TPRYRjHawMLEtyGgXlrmGFeJG0A\",\"additionalMetadata\":null}",
"x-amz-bedrock-kb-source-file-modality": "IMAGE",
"AMAZON_BEDROCK_TEXT": "This image shows a cute, cartoonish character sitting on a wooden pedestal. The character has a fluffy white body resembling a sheep or a cloud, with a cheerful expression. It is wearing a blue bow tie and has orange hair on both sides of its head. There is a small orange with a green leaf on top of its head. The background is solid black, making the character stand out prominently. The character appears to be in a playful and whimsical setting.",
"x-amz-bedrock-kb-source-file-mime-type": "image/png",
"x-amz-bedrock-kb-data-source-id": "2QXIDHF9II"
},
"distance": 1.7209044694900513
},
{
"key": "8c7aab78-fb5a-4dec-b525-72df60e229b2",
"metadata": {
"x-amz-bedrock-kb-document-page-number": 0.0,
"x-amz-bedrock-kb-source-file-modality": "IMAGE",
"AMAZON_BEDROCK_METADATA": "{\"text\":null,\"author\":null,\"createDate\":\"2025-12-02T12:46:27Z\",\"modifiedDate\":\"2025-12-02T12:46:27Z\",\"source\":{\"sourceLocation\":\"s3://multimodal-2025-12-01-123456789012/contents/eto_remake_inu.png\",\"sourceType\":null},\"descriptionText\":null,\"pageNumber\":null,\"pageSizes\":null,\"graphDocument\":{\"entities\":[]},\"parentText\":null,\"relatedContents\":[{\"locationType\":\"S3\",\"s3Location\":{\"uri\":\"s3://multimodal-out-2025-12-01-123456789012/aws/bedrock/knowledge_bases/99IHDPO2PQ/2QXIDHF9II/ed0965ec-9a12-47f7-bd93-5b778a455a9f.png\"}}],\"sourceDocumentId\":\"o625brHQZKEzo/1Ym/sZhMLXdEsjVaJnxgR5BFl/57RIxm4JkV4eiZJb2KUl96PG\",\"additionalMetadata\":null}",
"AMAZON_BEDROCK_TEXT": "This image shows a cartoon illustration of a dog with a smiling face. The dog has a brown body and dark brown ears. It is wearing a red collar around its neck. The dog's tail is curved upwards and is also dark brown. The background of the image is black, making the dog stand out prominently. The illustration appears to be simple and stylized, likely aimed at conveying a friendly and cheerful demeanor.",
"x-amz-bedrock-kb-data-source-id": "2QXIDHF9II",
"x-amz-bedrock-kb-source-file-mime-type": "image/png"
},
"distance": 1.7683148384094238
}
]
Amazon Nova Multimodal Embeddings Default Parser
続いて、Amazon Nova Multimodal Embeddings です。
パーサーごとに処理を確認したいため、ナレッジベースを分離します。まずはデフォルトパーサーを扱ってみます。名前を「kb-nova-def」としました。

データソースに S3 を選択し、パーサー部分に移ります。

デフォルトのパーサーを選んだ場合、パース処理はテキストコンテンツに絞られます。
Bedrock default parser: Recommended for text-only content processing. This parser processes common text formats while ignoring multimodal files. Supports text documents including Word, Excel, HTML, Markdown, TXT, and CSV files.
デフォルトのパーサーの場合、「Amazon Nova Multimodal Embeddings (マルチモーダルなエンべディング)が利用できない」ということはありません。あくまで「パース処理が行われない(付加情報が付与されない)よ」ってことですので、ご安心を。
ナレッジベース作成後、同期を行いました。処理時間は 3 分ほど発生していますね。

検索してみましょう。cow、牛どちらも正しく出力できていますね。
cow

牛

画像検索
今回の目玉である、画像検索をやってみましょう。ファイルを添付して検索を行います。
イノシシに近い画像の類似検索を行いました。画像の類似検索が成功していますね。

画像 + 文字のような検索は現時点では未サポートでした。

ちなみににイノシシの次に類似されていたのは、ネズミでした。

ベクトルデータベースの中身を見てみましょう。
import base64
import json
import sys
import boto3
REGION = "us-east-1"
MODEL_ID = "amazon.nova-2-multimodal-embeddings-v1:0"
DIMENSION = 3072
VECTOR_BUCKET_NAME = "bedrock-knowledge-base-uvyqtx"
VECTOR_INDEX_NAME = "bedrock-knowledge-base-default-index"
bedrock = boto3.client("bedrock-runtime", region_name=REGION)
s3vectors = boto3.client("s3vectors", region_name=REGION)
query = sys.argv[1]
response = bedrock.invoke_model(
modelId=MODEL_ID,
body=json.dumps(
{
"taskType": "SINGLE_EMBEDDING",
"singleEmbeddingParams": {
"embeddingPurpose": "GENERIC_INDEX",
"embeddingDimension": DIMENSION,
"text": {
"truncationMode": "END",
"value": query,
},
},
}
),
)
response_body = json.loads(response["body"].read())
embedding = response_body["embeddings"][0]["embedding"]
response = s3vectors.query_vectors(
vectorBucketName=VECTOR_BUCKET_NAME,
indexName=VECTOR_INDEX_NAME,
queryVector={"float32": embedding},
topK=3,
returnDistance=True,
returnMetadata=True,
)
print(json.dumps(response["vectors"], indent=2))
AMAZON_BEDROCK_TEXT が存在せず、画像が直接、エンべディングされていることがわかります。
takakuni.shinnosuke@HL01556 multimodal % uv run nova-def.py 牛
[
{
"key": "079ac1b2-3634-4d9f-a25c-95085ea11da3",
"metadata": {
"AMAZON_BEDROCK_METADATA": "{\"text\":null,\"author\":null,\"createDate\":\"2025-12-02T12:46:35Z\",\"modifiedDate\":\"2025-12-02T12:46:35Z\",\"source\":{\"sourceLocation\":\"s3://multimodal-2025-12-01-123456789012/contents/eto_remake_ushi.png\",\"sourceType\":null},\"descriptionText\":null,\"pageNumber\":null,\"pageSizes\":null,\"graphDocument\":{\"entities\":[]},\"parentText\":null,\"relatedContents\":[{\"locationType\":\"S3\",\"s3Location\":{\"uri\":\"s3://multimodal-out-2025-12-01-123456789012/aws/bedrock/knowledge_bases/AIVOBLTWS2/2QXBLQPSXV/08099c71-1d3e-4a87-b122-867979ba137e.png\"}}],\"sourceDocumentId\":\"FJyBQGITnOIBecEs/buuYGwErC5w/ryaLjLiNBexU+bPOIF7OyF7LthUNzTvZIn5\",\"additionalMetadata\":null}",
"x-amz-bedrock-kb-source-file-modality": "IMAGE",
"x-amz-bedrock-kb-data-source-id": "2QXBLQPSXV",
"x-amz-bedrock-kb-source-file-mime-type": "image/png"
},
"distance": 1.4934920072555542
},
{
"key": "de6dc4ba-ae8c-4dd6-b180-e705b5b15c18",
"metadata": {
"x-amz-bedrock-kb-source-file-mime-type": "image/png",
"x-amz-bedrock-kb-source-file-modality": "IMAGE",
"AMAZON_BEDROCK_METADATA": "{\"text\":null,\"author\":null,\"createDate\":\"2025-12-02T12:46:37Z\",\"modifiedDate\":\"2025-12-02T12:46:37Z\",\"source\":{\"sourceLocation\":\"s3://multimodal-2025-12-01-123456789012/contents/uchidenokoduchi_eto01_nedumi.png\",\"sourceType\":null},\"descriptionText\":null,\"pageNumber\":null,\"pageSizes\":null,\"graphDocument\":{\"entities\":[]},\"parentText\":null,\"relatedContents\":[{\"locationType\":\"S3\",\"s3Location\":{\"uri\":\"s3://multimodal-out-2025-12-01-123456789012/aws/bedrock/knowledge_bases/AIVOBLTWS2/2QXBLQPSXV/193dd3fd-fda8-4487-b31a-1e68eaaeceda.png\"}}],\"sourceDocumentId\":\"ecQmm41S02ySLchT7ffYQwit0z6NWGMJBVgp3ZWJucVnuRrclVAt5ngmuSA+yPd+\",\"additionalMetadata\":null}",
"x-amz-bedrock-kb-data-source-id": "2QXBLQPSXV"
},
"distance": 1.8008359670639038
},
{
"key": "cd107461-8bff-4dfb-aa7d-4ebb966f8dc2",
"metadata": {
"x-amz-bedrock-kb-source-file-mime-type": "image/png",
"AMAZON_BEDROCK_METADATA": "{\"text\":null,\"author\":null,\"createDate\":\"2025-12-02T12:46:29Z\",\"modifiedDate\":\"2025-12-02T12:46:29Z\",\"source\":{\"sourceLocation\":\"s3://multimodal-2025-12-01-123456789012/contents/eto_saru_fukubukuro.png\",\"sourceType\":null},\"descriptionText\":null,\"pageNumber\":null,\"pageSizes\":null,\"graphDocument\":{\"entities\":[]},\"parentText\":null,\"relatedContents\":[{\"locationType\":\"S3\",\"s3Location\":{\"uri\":\"s3://multimodal-out-2025-12-01-123456789012/aws/bedrock/knowledge_bases/AIVOBLTWS2/2QXBLQPSXV/7569266e-0972-4553-8e57-f42b858d2c3a.png\"}}],\"sourceDocumentId\":\"TLSB8hCikGymA/N9a9YEJZxolakUocVEpk23lB86XGzIEolP729JpJJ9iIDn50Y4\",\"additionalMetadata\":null}",
"x-amz-bedrock-kb-source-file-modality": "IMAGE",
"x-amz-bedrock-kb-data-source-id": "2QXBLQPSXV"
},
"distance": 1.8240646123886108
}
]
Amazon Nova Multimodal Embeddings Foundation Model Parser
Amazon Nova Multimodal Embeddings の埋め込みに加え、Foundation Model を利用したパース処理を行います。
Foundation Model を利用したパース処理を行うことで、画像などの非テキストファイルに捕捉情報を加えられます。名前は「kb-nova-foundation」としました。こちらの同期時刻も 3 分程度で処理ができました。

検索をかけてみましょう。同じく「cow」、「牛」と検索してみて、うまく検索できていますね
cow

牛

お決まりのベクトルデータベース確認です
import base64
import json
import sys
import boto3
REGION = "us-east-1"
MODEL_ID = "amazon.nova-2-multimodal-embeddings-v1:0"
DIMENSION = 3072
VECTOR_BUCKET_NAME = "bedrock-knowledge-base-e4sne0"
VECTOR_INDEX_NAME = "bedrock-knowledge-base-default-index"
bedrock = boto3.client("bedrock-runtime", region_name=REGION)
s3vectors = boto3.client("s3vectors", region_name=REGION)
query = sys.argv[1]
response = bedrock.invoke_model(
modelId=MODEL_ID,
body=json.dumps(
{
"taskType": "SINGLE_EMBEDDING",
"singleEmbeddingParams": {
"embeddingPurpose": "GENERIC_INDEX",
"embeddingDimension": DIMENSION,
"text": {
"truncationMode": "END",
"value": query,
},
},
}
),
)
response_body = json.loads(response["body"].read())
embedding = response_body["embeddings"][0]["embedding"]
response = s3vectors.query_vectors(
vectorBucketName=VECTOR_BUCKET_NAME,
indexName=VECTOR_INDEX_NAME,
queryVector={"float32": embedding},
topK=3,
returnDistance=True,
returnMetadata=True,
)
print(json.dumps(response["vectors"], indent=2))
AMAZON_BEDROCK_METADATA には Foundation Model で生成された、付加情報が記載されていますね。
takakuni.shinnosuke@ multimodal % uv run nova-found.py 牛
[
{
"key": "50205e85-8c81-48f6-a180-11031fc5eb46",
"metadata": {
"x-amz-bedrock-kb-source-file-modality": "IMAGE",
"AMAZON_BEDROCK_METADATA": "{\"text\":null,\"author\":null,\"createDate\":\"2025-12-02T12:46:35Z\",\"modifiedDate\":\"2025-12-02T12:46:35Z\",\"source\":{\"sourceLocation\":\"s3://multimodal-2025-12-01-123456789012/contents/eto_remake_ushi.png\",\"sourceType\":null},\"descriptionText\":null,\"pageNumber\":null,\"pageSizes\":null,\"graphDocument\":{\"entities\":[]},\"parentText\":null,\"relatedContents\":[{\"locationType\":\"S3\",\"s3Location\":{\"uri\":\"s3://multimodal-out-2025-12-01-123456789012/aws/bedrock/knowledge_bases/CMWY2SJUEQ/BIATDWDOUM/53867e2a-0e00-4a8a-8c3b-0054d9a3ddef.png\"}}],\"sourceDocumentId\":\"FJyBQGITnOIBecEs/buuYGwErC5w/ryaLjLiNBexU+bPOIF7OyF7LthUNzTvZIn5\",\"additionalMetadata\":null}",
"AMAZON_BEDROCK_TEXT": "<markdown> <figure> A cute cartoon illustration of a cow in a simple, childlike art style. The cow is depicted in a side view with a white body and black spots. It has yellow horns, closed happy eyes (shown as curved lines), pink blush on its cheeks, and an orange/coral colored snout. The cow has a gray tail with a tuft at the end. The illustration has a watercolor or painted texture with soft edges and appears to be designed in a kawaii or cute Japanese style. </figure> </markdown>",
"x-amz-bedrock-kb-document-page-number": 0.0,
"x-amz-bedrock-kb-data-source-id": "BIATDWDOUM"
},
"distance": 0.7612391114234924
},
{
"key": "780874cb-6bf7-47f3-a34e-9fbd65fbe51a",
"metadata": {
"x-amz-bedrock-kb-data-source-id": "BIATDWDOUM",
"AMAZON_BEDROCK_TEXT": "<markdown> <figure> An illustration of a stylized green and yellow dragon character in an Asian art style. The dragon has a serpentine body colored in shades of green with darker green patches, orange/yellow antlers or horns on its head, and a yellow belly. The dragon has a friendly, smiling expression with simple facial features and appears to be in a playful, curled pose with its tail visible. The art style is simple and flat with solid colors, suggesting it may be used for children's content or as a mascot. </figure> </markdown>",
"x-amz-bedrock-kb-source-file-modality": "IMAGE",
"AMAZON_BEDROCK_METADATA": "{\"text\":null,\"author\":null,\"createDate\":\"2025-12-02T12:46:32Z\",\"modifiedDate\":\"2025-12-02T12:46:32Z\",\"source\":{\"sourceLocation\":\"s3://multimodal-2025-12-01-123456789012/contents/dragon_good.png\",\"sourceType\":null},\"descriptionText\":null,\"pageNumber\":null,\"pageSizes\":null,\"graphDocument\":{\"entities\":[]},\"parentText\":null,\"relatedContents\":[{\"locationType\":\"S3\",\"s3Location\":{\"uri\":\"s3://multimodal-out-2025-12-01-123456789012/aws/bedrock/knowledge_bases/CMWY2SJUEQ/BIATDWDOUM/99540a18-3b68-42e1-8b0d-6fc68b0fb467.png\"}}],\"sourceDocumentId\":\"jzPCh68DR2F354chjKbAEaHGfFRyDVRGW3IzjNsY9tMA8BLpUrHLQpnwGvkdOuYM\",\"additionalMetadata\":null}",
"x-amz-bedrock-kb-document-page-number": 0.0
},
"distance": 0.8840569257736206
},
{
"key": "8b1fef2e-2012-49b6-b72e-31764ad48a8d",
"metadata": {
"x-amz-bedrock-kb-source-file-modality": "IMAGE",
"AMAZON_BEDROCK_METADATA": "{\"text\":null,\"author\":null,\"createDate\":\"2025-12-02T12:46:31Z\",\"modifiedDate\":\"2025-12-02T12:46:31Z\",\"source\":{\"sourceLocation\":\"s3://multimodal-2025-12-01-123456789012/contents/uchidenokoduchi_eto07_uma.png\",\"sourceType\":null},\"descriptionText\":null,\"pageNumber\":null,\"pageSizes\":null,\"graphDocument\":{\"entities\":[]},\"parentText\":null,\"relatedContents\":[{\"locationType\":\"S3\",\"s3Location\":{\"uri\":\"s3://multimodal-out-2025-12-01-123456789012/aws/bedrock/knowledge_bases/CMWY2SJUEQ/BIATDWDOUM/8a7b4b5c-0b01-4ea6-b438-c6a5e2b72106.png\"}}],\"sourceDocumentId\":\"AqnYnvijJIoMtA8bscRaLoGfOIa0Odewo3MO9AdDMM6eMtO2TFYJbuVGTyKJJ009\",\"additionalMetadata\":null}",
"AMAZON_BEDROCK_TEXT": "<markdown> <figure> An illustration showing a brown horse standing on its hind legs in a celebratory pose with one front leg raised. The horse is holding what appears to be a yellow lucky cat (maneki-neko) figurine with red and green decorations. Around them are several gold coins with oval patterns and sparkle effects, suggesting good fortune or financial success. </figure> </markdown>",
"x-amz-bedrock-kb-data-source-id": "BIATDWDOUM",
"x-amz-bedrock-kb-document-page-number": 0.0
},
"distance": 0.9140208959579468
}
]
Amazon Nova Multimodal Embeddings をエンべディングモデルとして利用しているため、画像検索も可能です。

BDA + Amazon Nova Multimodal Embeddings
BDA に加えて、Amazon Nova Multimodal Embeddings を行うのは、どうなのでしょうか。
最初におさらいした通り、パース処理が終わってからエンべディングです。そのため、BDA によってテキストで抽出されたテキストデータを Amazon Nova Multimodal Embeddings でエンべディングするといった内容になります。
If you use the BDA parser with the Amazon Nova Multimodal Embeddings model, the embeddings model will act like a text embeddings model. When working with multimodal content, use one of the processing approaches for best results depending on your use case.
同期時間に関しては BDA の影響を受けているのか、同じく 5 分ほどかかっておりました。

いつもの、cow、牛、画像検索それぞれうまくいっていますね。
cow

牛

画像検索

ベクトルデータベースの中身も確認してみましょう。
ドキュメントに記載されている通り、AMAZON_BEDROCK_TEXT が含まれています。エンべディングされたデータ形式は、画像なのかテキストなのか、わかりませんね。
takakuni@ multimodal % python nova-bda.py cow
[
{
"key": "6e29b014-2115-4297-8995-425896f4d0cf",
"metadata": {
"x-amz-bedrock-kb-source-file-modality": "IMAGE",
"AMAZON_BEDROCK_TEXT": "This image shows a cartoon illustration of a cow with a black and white body, a red nose, and yellow horns. The cow is depicted in a simple, stylized manner with exaggerated features such as large eyes and a wide mouth. The background of the image is solid black, making the cow stand out prominently. The cow appears to be standing with its tail visible on the right side. There are no logos, scene texts, or identified persons in this image.",
"x-amz-bedrock-kb-document-page-number": 0.0,
"AMAZON_BEDROCK_METADATA": "{\"text\":null,\"author\":null,\"createDate\":\"2025-12-02T12:46:35Z\",\"modifiedDate\":\"2025-12-02T12:46:35Z\",\"source\":{\"sourceLocation\":\"s3://multimodal-2025-12-01-123456789012/contents/eto_remake_ushi.png\",\"sourceType\":null},\"descriptionText\":null,\"pageNumber\":null,\"pageSizes\":null,\"graphDocument\":{\"entities\":[]},\"parentText\":null,\"relatedContents\":[{\"locationType\":\"S3\",\"s3Location\":{\"uri\":\"s3://multimodal-out-2025-12-01-123456789012/aws/bedrock/knowledge_bases/KF4GCYJUM4/O8O2HFMYLD/41d81e04-c46e-4e01-a21e-d2188bc099bd.png\"}}],\"sourceDocumentId\":\"FJyBQGITnOIBecEs/buuYGwErC5w/ryaLjLiNBexU+bPOIF7OyF7LthUNzTvZIn5\",\"additionalMetadata\":null}",
"x-amz-bedrock-kb-source-file-mime-type": "image/png",
"x-amz-bedrock-kb-data-source-id": "O8O2HFMYLD"
},
"distance": 0.6646683812141418
},
{
"key": "a9eccf72-85ed-4435-ad82-eba8efc2bd0e",
"metadata": {
"AMAZON_BEDROCK_METADATA": "{\"text\":null,\"author\":null,\"createDate\":\"2025-12-02T12:46:27Z\",\"modifiedDate\":\"2025-12-02T12:46:27Z\",\"source\":{\"sourceLocation\":\"s3://multimodal-2025-12-01-123456789012/contents/eto_remake_inu.png\",\"sourceType\":null},\"descriptionText\":null,\"pageNumber\":null,\"pageSizes\":null,\"graphDocument\":{\"entities\":[]},\"parentText\":null,\"relatedContents\":[{\"locationType\":\"S3\",\"s3Location\":{\"uri\":\"s3://multimodal-out-2025-12-01-123456789012/aws/bedrock/knowledge_bases/KF4GCYJUM4/O8O2HFMYLD/1ca0a9d2-e577-4ce0-af65-dfb34e81f7ec.png\"}}],\"sourceDocumentId\":\"o625brHQZKEzo/1Ym/sZhMLXdEsjVaJnxgR5BFl/57RIxm4JkV4eiZJb2KUl96PG\",\"additionalMetadata\":null}",
"x-amz-bedrock-kb-source-file-mime-type": "image/png",
"x-amz-bedrock-kb-data-source-id": "O8O2HFMYLD",
"x-amz-bedrock-kb-document-page-number": 0.0,
"AMAZON_BEDROCK_TEXT": "This image shows a cartoon illustration of a dog with a smiling face. The dog has a brown body and dark brown ears. It is wearing a red collar around its neck. The dog's tail is curved upwards and is also dark brown. The background of the image is black, making the dog stand out prominently. The dog appears to be in a cheerful and friendly pose.",
"x-amz-bedrock-kb-source-file-modality": "IMAGE"
},
"distance": 0.825368344783783
},
{
"key": "c9016068-e612-4b95-8982-ee1d452c8687",
"metadata": {
"AMAZON_BEDROCK_TEXT": "This image shows a cartoon illustration of a tiger with a joyful expression. The tiger has a yellow body with black stripes, a pink nose, and white whiskers. Its mouth is open, showing its teeth, and it appears to be in a playful or happy mood. The tiger's tail is curved upwards, and its paws are positioned as if it is running or leaping. The background of the image is solid black, making the tiger stand out prominently. There are no logos, scene texts, or detected persons in this image.",
"x-amz-bedrock-kb-source-file-mime-type": "image/png",
"x-amz-bedrock-kb-document-page-number": 0.0,
"x-amz-bedrock-kb-source-file-modality": "IMAGE",
"AMAZON_BEDROCK_METADATA": "{\"text\":null,\"author\":null,\"createDate\":\"2025-12-02T12:46:34Z\",\"modifiedDate\":\"2025-12-02T12:46:34Z\",\"source\":{\"sourceLocation\":\"s3://multimodal-2025-12-01-123456789012/contents/eto_remake_tora.png\",\"sourceType\":null},\"descriptionText\":null,\"pageNumber\":null,\"pageSizes\":null,\"graphDocument\":{\"entities\":[]},\"parentText\":null,\"relatedContents\":[{\"locationType\":\"S3\",\"s3Location\":{\"uri\":\"s3://multimodal-out-2025-12-01-123456789012/aws/bedrock/knowledge_bases/KF4GCYJUM4/O8O2HFMYLD/17b55c33-bb63-4f23-bbdd-efc228fefa73.png\"}}],\"sourceDocumentId\":\"SRrW6U/eGeN3KpO54xp2YMstlQT4I+5+tBq4yP1cX9m6qzEsijWVC3fFeBVH/owK\",\"additionalMetadata\":null}",
"x-amz-bedrock-kb-data-source-id": "O8O2HFMYLD"
},
"distance": 0.8383215665817261
}
]
Amazon Bedrock のログを確認すると、テキストデータに対して、エンべディングされていることがわかりました。想定通りです。
{
"timestamp": "2025-12-03T00:51:26Z",
"accountId": "123456789012",
"identity": {
"arn": "arn:aws:sts::123456789012:assumed-role/AmazonBedrockExecutionRoleForKnowledgeBase_8jxmm/EmbeddingTask-ZQEJWEU5LT"
},
"region": "us-east-1",
"requestId": "8797bbe2-4d90-4290-bd5b-eeb2a729e661",
"operation": "InvokeModel",
"modelId": "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-2-multimodal-embeddings-v1:0",
"input": {
"inputContentType": "application/json",
"inputBodyJson": {
"taskType": "SINGLE_EMBEDDING",
"singleEmbeddingParams": {
"embeddingPurpose": "GENERIC_INDEX",
"embeddingDimension": 3072,
"text": {
"truncationMode": "END",
"value": "This image shows a cartoon illustration of a cow with a black and white body, a red nose, and yellow horns. The cow is depicted in a simple, stylized manner with exaggerated features such as large eyes and a wide mouth. The background of the image is solid black, making the cow stand out prominently. The cow appears to be standing with its tail visible on the right side. There are no logos, scene texts, or identified persons in this image."
}
}
},
"inputTokenCount": 94
},
"output": {
"outputContentType": "application/json",
"outputBodyJson": {
"embeddings": [
{
"embeddingType": "TEXT",
"embedding": [
]
}
]
}
},
"schemaType": "ModelInvocationLog",
"schemaVersion": "1.0"
}
まとめ
以上、「Amazon Bedrock Knowledge Bases のマルチモーダル検索が一般提供開始されました。」でした。
Amazon Nova 形式と BDA 形式のそれぞれの違いがイメージできたのではないでしょうか。
このブログがどなたかの参考になれば幸いです。クラウド事業本部コンサルティング部のたかくに(@takakuni_)でした!
Multimodal processing approach の
RAG functionalityの内容はおそらくこのことだと思われます。 ↩︎Capabilities and limitations の
No support for image-based queries when used without Nova Multimodal Embeddings - all searches must use text inputという表現は、おそらく BDA + Nova Multimodal Embeddings を利用したパターンの場合を指しているのだと思います。ベクトルデータベース内のコンテンツはテキストでエンべディングされるものの、画像をインプットとして検索は可能という意味合いかと思います。 ↩︎Strands Agents では Retrieve API のみ利用するため、影響範囲が少ない ↩︎




















