21
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【日本語OK】Bedrockナレッジベースで動画や録音をRAGで検索できるように!

Last updated at Posted at 2025-12-01

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でナレッジベースを呼び出す

サンプルデータは以下を使いました。

ナレッジベース作成画面で、パーサーが拡充しています!

スクリーンショット 2025-12-01 14.41.13.png

埋め込みモデルも、バージニアではNovaが選べるように。

スクリーンショット 2025-12-01 14.41.40.png

10月にCohereやTwilveLabsからもマルチモーダル埋め込みモデルが登場していましたが、今回は対応しないようです。しないんかい!w

検証結果

マネコンからナレッジベースを呼び出した例

スクリーンショット 2025-12-01 15.44.36.png

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パーサーを使う例については、以下の記事を参考にどうぞ!

21
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?