cafecomtech
Assinar
PRODUTO · AWS · 17 ABR 2026

AWS mostra como montar busca semântica em vídeo com Nova Multimodal Embeddings no Bedrock

A AWS publicou um guia arquitetural pra busca semântica em vídeo usando Nova Multimodal Embeddings no Bedrock. A solução gera embeddings separados pra visual, áudio e transcrição, combina com metadados via busca híbrida e roteia queries por intenção usando Claude Haiku. No benchmark interno, Recall@5 saltou de 51% pra 90% contra o modo combinado padrão.

AWS mostra como montar busca semântica em vídeo com Nova Multimodal Embeddings no Bedrock
AWS mostra como montar busca semântica em vídeo com Nova Multimodal Embeddings no Bedrock foi anunciado em 17 de abril às 19:43, horário de Brasília. fonte original →
por que importa

Post denso e útil pra quem tá montando busca de vídeo em escala. A lição prática vale mesmo fora da stack AWS: embedding separado por modalidade + roteador de intenção bate embedding combinado em retrieval. Arquitetura reproduzível em qualquer vector DB.

A AWS soltou um post técnico denso mostrando como montar busca semântica em vídeo em cima do Nova Multimodal Embeddings, o modelo de embedding unificado da Amazon que processa texto, documento, imagem, vídeo e áudio no mesmo espaço vetorial. A implementação de referência tá no GitHub pra quem quiser clonar e rodar.

O pitch: casos reais em mídia e entretenimento (encontrar o momento exato do gol, toda cena com um ator específico, achar imagem por clima ou local) travam quando você força tudo pra texto via transcrição antes de gerar embedding. Perde contexto temporal, perde evento visual que ninguém narrou, perde áudio ambiente.

A arquitetura

Pipeline em duas fases: ingestão (passos 1-6) e busca (passos 7-10).

Na ingestão:

  • Upload e orquestração: vídeo sobe pro S3, Lambda atualiza DynamoDB e dispara Step Functions.
  • Segmentação por cena: Fargate roda FFmpeg com scene detection pra quebrar o vídeo em pedaços semanticamente coerentes, com alvo de 10s (mín 5s, máx 15s) snapando no corte de cena mais próximo.
  • Três branches paralelos por segmento: Nova Multimodal Embeddings gera vetores de 1024 dimensões pra visual e áudio (armazenados no S3 Vectors); Amazon Transcribe converte fala em texto e o Nova gera embedding de transcrição; Amazon Rekognition faz celebrity detection.
  • Caption e gênero: Nova 2 Lite sintetiza legenda por segmento e rótulo de gênero.
  • Merge e index: Lambda junta metadados, puxa embeddings do S3 Vectors e bulk-index no Amazon OpenSearch Service.

Na busca: Cognito autentica, CloudFront serve o front, API Gateway roteia pra Search Lambda que dispara duas operações paralelas: análise de intenção (com Anthropic Claude Haiku atribuindo pesos 0.0-1.0 pra visual, áudio, transcrição e metadados) e embedding da query (três vezes, uma pra cada modalidade).

Segmentação com continuidade semântica

O Nova Multimodal Embeddings aceita até 30s por embedding, mas a AWS argumenta que chunk fixo (tipo blocos de 10s) corta cena no meio da ação e arrebenta a recuperação. A alternativa é rodar ffprobe com scene detection pra pegar timestamps de mudança visual real, e aí o algoritmo snapa o corte pro boundary mais próximo dentro da janela 5-15s.

Resultado: segmentos de 8.3s, 11.1s, 9.8s, alinhados com transição visual real.

Detalhe importante pra quem tá planejando isso: conteúdo de ação com corte rápido se beneficia de segmentação visual; documentário e entrevista com takes longos pedem segmentação por tópico baseada em áudio. Não tem one-size-fits-all.

Três embeddings em vez de um

Aqui é onde a AWS faz a aposta técnica principal. O Nova tem dois modos: AUDIO_VIDEO_COMBINED (funde visual e áudio num vetor só, mais barato) e AUDIO_VIDEO_SEPARATE (dois vetores distintos).

A implementação foi além e adicionou um terceiro embedding de fala, gerado a partir do Transcribe alinhando frases completas aos timestamps dos segmentos. Três vetores por segmento cobrem o espaço de sinal inteiro:

  • Visual: o que a câmera vê (objeto, cena, ação, cor, composição espacial).
  • Áudio: o que o microfone escuta (música, efeito sonoro, ruído ambiente, textura acústica).
  • Transcrição: o que as pessoas falam (significado semântico do diálogo).

Colapsar tudo num vetor só borra a fronteira entre o que é visto, ouvido e falado. Manter separado dá controle fino pra roteador de intenção subir ou descer cada modalidade por query.

Busca híbrida com metadados

Embedding é bom pra conceito ("momento tenso de multidão", "pôr do sol no mar"). É ruim pra entidade discreta (nome de pessoa, número de modelo, geolocalização, data). A solução: rodar em paralelo um caminho semântico (kNN nos três embeddings) e um caminho lexical (BM25 em metadados estruturados).

Os metadados escolhidos pro exemplo: título, data/hora, caption por segmento (gerado pelo Nova 2 Lite com contexto visual + transcrição), gênero (classificação do vídeo inteiro em 15 categorias) e celebrity recognition (Rekognition).

Roteamento por intenção

Pra cada query, o Claude Haiku recebe um prompt que retorna JSON com pesos somando 1.0 nas quatro modalidades mais um campo de reasoning. Exemplos do próprio prompt:

  • "red car driving" → visual=0.9, metadata=0.1
  • "person saying hello" → transcription=0.5, visual=0.2, audio=0.2, metadata=0.1
  • "dog barking loudly" → audio=0.6, visual=0.3, metadata=0.1

Modalidade com peso abaixo de 5% é pulada, cortando chamada de API desnecessária. O resto executa em paralelo e os scores são normalizados pra 0-1 antes de combinar via média aritmética ponderada:

final_score = w₁ × norm_bm25 + w₂ × norm_visual + w₃ × norm_audio + w₄ × norm_transcription

A AWS defende a média ponderada em vez de Reciprocal Rank Fusion (RRF) porque RRF trata todos os canais iguais independente de intenção, enquanto a média ponderada amplifica o canal que o roteador julgou mais relevante.

Storage: S3 Vectors + OpenSearch

Três índices vetoriais no Amazon S3 Vectors (um por tipo de embedding) e um índice no OpenSearch por projeto, onde cada documento é um segmento com campos de texto (BM25) e campos vetoriais (kNN).

A AWS bate na tecla de que S3 Vectors reduz custo de storage e query de vetor em até 90% versus soluções especializadas. Se latência não é crítica, S3 Vectors é default. Se precisa do menor latência possível, OpenSearch HNSW em memória.

Pra vídeo longo (entrevista completa, cena de documentário de vários minutos), o limite de 30s por embedding do Nova é contornado com nested vector support no OpenSearch: um documento guarda múltiplos sub-segmentos, e o score do documento é o do melhor sub-segmento, não uma média.

Os números do benchmark

Teste interno com 10 vídeos longos (5-20 min) e 20 queries cobrindo visual, áudio, transcrição e metadados. Baseline: modo AUDIO_VIDEO_COMBINED com vetor único por segmento de 10s.

Métrica Hybrid + Nova MME Baseline
Recall@5 90% 51%
Recall@10 95% 64%
MRR 90% 48%
NDCG@10 88% 54%

Ganho de 30-40 pontos percentuais em todas as métricas. MRR quase dobrou (48% → 90%).

O filtro de sempre: benchmark interno da própria AWS, com dataset escolhido pela AWS, comparando contra o modo mais simples do próprio modelo. O delta é grande o suficiente pra sugerir que a arquitetura importa mais que o modelo, mas não substitui teste no seu corpus.

Implementação de referência

Código completo no GitHub, deploy via CloudFormation. A AWS promete um Parte 2 com tuning adicional, incluindo customização de modelo pra camada de roteamento de intenção.

0

☕ comentários · 0

Entra pra deixar um comentário. Magic link, sem senha.
Sem comentários ainda. Seja o primeiro.

Mateus Veloso

Tech lead. Mantém o cafecomtech quando não tá debugando sistema em produção.