Digitalizar documentos escaneados em escala, como páginas de anuários escolares, exige extrair fotos, nomes e metadados, e depois associar cada nome ao rosto correto. Um pipeline de modelo único que tenta fazer tudo de uma vez pode ser caro e difícil de ajustar. A AWS mostrou que uma abordagem com dois modelos — Amazon Nova 2 Lite e Claude Sonnet 4.6 — reduz o custo por página em cerca de dois terços, mantendo alta precisão.
O que foi lançado
No AWS Machine Learning Blog, a equipe descreveu um pipeline de duas etapas executado no Amazon Bedrock:
- Etapa 1 (Amazon Nova 2 Lite): extração multimodal nativa em uma única chamada de API — detecta fotos com bounding boxes, extrai nomes visíveis com coordenadas e retorna metadados da página (título, categoria).
- Etapa 2 (Claude Sonnet 4.6): raciocínio espacial para associar nomes a rostos com base no layout da página.
O pipeline foi testado em 336 páginas de anuários digitalizados, gerando 3.122 associações nome-rosto, das quais 93,3% tiveram confiança igual ou superior a 0,95. Apenas 0,3% ficaram abaixo de 0,90.
O ganho principal é de custo e flexibilidade. Segundo a AWS, o pipeline de dois modelos custa cerca de US$ 0,033 por página, contra US$ 0,10 de um modelo único que tenta fazer OCR, detecção de fotos e matching em uma só chamada. Em 100 mil páginas, a economia chega a US$ 6.500.
Além disso, cada etapa pode ser ajustada ou substituída independentemente — por exemplo, trocar apenas o modelo de raciocínio espacial sem mexer na extração inicial.
Disponibilidade e preço
O Amazon Nova 2 Lite está disponível no Amazon Bedrock em diversas regiões da AWS. O modelo tem precificação fixa por imagem: cada página de documento é cobrada a uma taxa fixa, independentemente da resolução. Isso torna o custo previsível em escala.
Para o pipeline descrito, o custo estimado por página é:
- Nova 2 Lite: ~US$ 0,0027 (230 tokens de imagem fixos + ~500 tokens de prompt + ~1.000 tokens de saída)
- Claude Sonnet 4.6: ~US$ 0,030 (imagem + JSON do Nova + tokens de raciocínio adaptativo)
- Total: ~US$ 0,033
Os preços atuais podem ser consultados na página de preços do Amazon Bedrock.
Como acessar e usar
Para reproduzir o pipeline, você precisa:
- Uma conta AWS com acesso ao Amazon Bedrock em uma região onde Amazon Nova 2 Lite e Claude Sonnet 4.6 estejam disponíveis.
- Habilitar o acesso aos modelos
us.amazon.nova-2-lite-v1:0eus.anthropic.claude-sonnet-4-6no console do Amazon Bedrock. - Uma política IAM que permita as ações
bedrock:InvokeModelebedrock:Conversepara esses modelos. - Python 3.10+ com o SDK boto3 instalado.
O código-fonte completo, incluindo um Jupyter notebook e imagens de exemplo, está disponível no repositório AWS Samples no GitHub.
Detalhes técnicos da implementação
Etapa 1: extração com Amazon Nova 2 Lite
O Nova 2 Lite recebe a imagem escaneada e um prompt que solicita fotos (com bounding boxes e classificação) e nomes visíveis (com posições aproximadas). A resposta é um JSON estruturado:
{
"page_title": "Junior Class Officers",
"photos": [
{
"bbox": [245, 180, 410, 520],
"type": "portrait",
"category": "class_officers",
"summary": "Individual portrait photo"
}
],
"names": [
{"text": "Cecilia Phillips", "bbox": [260, 540, 395, 570]},
{"text": "John Kolander", "bbox": [420, 540, 555, 570]}
]
}O Nova usa coordenadas em escala 0–1000, que são passadas diretamente para o Claude sem conversão. O nível de raciocínio (reasoning_config) foi configurado como LOW, pois testes mostraram que níveis mais altos não melhoram a precisão para essa tarefa estruturada.
Etapa 2: matching espacial com Claude Sonnet 4.6
O Claude recebe a imagem original e o JSON do Nova, e usa adaptive thinking para decidir quanto raciocínio aplicar. Em páginas com layout simples, a resposta é direta; em páginas complexas, o modelo faz análise espacial passo a passo. O adaptive thinking é ativado no campo thinking da chamada Converse:
additionalModelRequestFields={
'thinking': {'type': 'adaptive'}
}A saída do Claude é uma lista de associações com nome, índice do rosto (face_idx), confiança e uma string de raciocínio:
{
"associations": [
{
"name": "Cecilia Phillips",
"face_idx": 0,
"confidence": 0.95,
"reasoning": "Row 0, position 1 of 3 - matches caption above photo"
}
]
}Resultados e validação
O pipeline processou 336 páginas e produziu 3.122 associações. A distribuição de confiança foi:
- ≥ 0,95: 2.912 associações (93,3%)
- 0,90 a 0,94: 202 associações (6,5%)
- < 0,90: 8 associações (0,3%)
Páginas de grade de retratos (282 das 336) tiveram média de 10,9 associações por página. Páginas apenas com texto foram corretamente ignoradas. Páginas mistas (retratos + fotos em grupo) produziram associações parciais, deixando fotos em grupo sem matching quando as legendas eram ambíguas.
O pipeline gera um JSON de resultados e uma imagem com linhas coloridas ligando cada nome ao rosto correspondente, facilitando a revisão manual.
Links úteis
- Repositório AWS Samples no GitHub (código completo, notebook e imagens)
- Documentação do Amazon Nova no Amazon Bedrock
- Adaptive thinking com Claude no Amazon Bedrock
- Preços do Amazon Bedrock
Descubra mais sobre noticiAI
Assine para receber nossas notícias mais recentes por e-mail.



