AWS re:Invent 2025、初日(12/1月)はまだキーノートも開始しておらず、AWS What's Newの更新のみスタートしています。
その中でほぼ唯一、生成AI関連のアップデートを解説します。
公式ドキュメントは以下。
ナレッジベースがマルチモーダル埋め込みに対応!
BedrockでRAG APIを簡単に作れる機能「ナレッジベース」が、動画や音声の埋め込みに対応しました。
主な変化点は以下
- データソースの種別:これまでのテキストと画像に加えて、動画と音声に対応
- パーサーの強化
- BDAパーサー:Bedrock Data Automationを使って、マルチメディアをテキストに変換して埋め込み可能
- 基盤モデルパーサー:Nova Multimodal Embeddingsモデルを使って、マルチメディアをバイナリのまま埋め込み可能(=テキストには変換されない)
- クエリーに画像を利用可能(Novaパーサーのみ)
注意点など
- Nova Multimodal Embeddingsは現在、バージニア北部リージョンのみ対応
- BDAパーサーの場合、Novaパーサーよりも対応できる動画のフォーマットなどがやや限られる模様
- ナレッジベース作成時に「マルチモーダルストレージの保存先」を設定しないと、同期ジョブでエラーになるため注意。データソースとは別のS3バケットを指定する必要あり
なお純粋なテキスト埋め込みを行なう場合、Novaではなく旧型のTitan Multimodal Embeddings V2の利用が推奨されている模様(そろそろTitan引退させてあげてw)
https://docs.aws.amazon.com/nova/latest/userguide/rag-multimodal.html
実際に使ってみた
実施手順
- S3バケットを2つ作成する(データソース用とマルチモーダルストレージ用)
- データソース用S3バケットに、検索対象にしたい動画や音声をアップロードする
- Bedrockナレッジベースを作成する
- 今回はBDAパーサーを選択
- 埋め込みモデルはCohere Multimodal Embeddingsを選択
- ベクターストアにはS3 Vectorsを選択
- マネコンもしくはAPIでナレッジベースを呼び出す
サンプルデータは以下を使いました。
- 動画(英語) https://vimeo.com/665800536
- 音声(日本語) https://pro-video.jp/voice/announce/
ナレッジベース作成画面で、パーサーが拡充しています!
埋め込みモデルも、バージニアではNovaが選べるように。
10月にCohereやTwilveLabsからもマルチモーダル埋め込みモデルが登場していましたが、今回は対応しないようです。しないんかい!w
検証結果
マネコンからナレッジベースを呼び出した例
Pythonを使ってAPIから呼び出すサンプルコード
import boto3
# APIクライアントを作成
bedrock = boto3.client("bedrock-agent-runtime")
# ナレッジベースを呼び出し
response = bedrock.retrieve_and_generate(
input={"text": "スピーチをしている男性が助けたい人種をすべて教えて。"},
retrieveAndGenerateConfiguration={
"type": "KNOWLEDGE_BASE",
"knowledgeBaseConfiguration": {
"knowledgeBaseId": "XXXXXXXXXX", # ナレッジベースIDを入れてね
"modelArn": "global.anthropic.claude-opus-4-5-20251101-v1:0"
}
}
)
# 結果を表示
print(response['output']['text'])
API呼び出し結果
スピーチをしている男性は、ユダヤ人、異邦人(非ユダヤ人)、黒人、白人など、可能であればすべての人を助けたいと述べています。
動画の内容がちゃんとテキストとして保存されており、セマンティック検索が実現できていますね!
日本語の音声もしっかり埋め込み変換できていて、検索も日本語で行えているのが素晴らしい。
例えば、会議の録音や録画をそのままS3に放り込んで、RAGチャットボットに検索させるユースケースなど便利そうですね。
これまではAmazon Transcribeのジョブなどを噛ましていたユースケースで、事前のデータ加工が不要になりそうです。
おまけ
今回はBDAパーサーを使って、動画をテキストに変換してRAGを行いました。
Novaパーサーを使う例については、以下の記事を参考にどうぞ!


