

# Compreensão do documento
<a name="modalities-document"></a>

**nota**  
Esta documentação é para o Amazon Nova versão 1. Para ver o guia de compreensão de documentos do Amazon Nova 2, acesse [Compreensão de documentos](https://docs.aws.amazon.com/nova/latest/nova2-userguide/using-multimodal-models.html#document-understanding).

A capacidade de compreensão de documentos do Amazon Nova permite que você inclua documentos inteiros (PDFs, arquivos do Word, planilhas etc.) em seu prompt e faça perguntas ou solicitações sobre seu conteúdo. Os modelos de compreensão multimodal do Nova (Lite, Pro, Premier) podem interpretar tanto o texto quanto os elementos visuais (como gráficos ou tabelas) nesses documentos. Isso permite casos de uso como resposta a perguntas, resumo e análise de relatórios longos ou documentos digitalizados. Os principais recursos incluem uma janela de contexto muito grande (1 a 2 milhões de tokens) para documentos longos e a capacidade de lidar com vários documentos em uma consulta. 

O Amazon Nova distingue entre dois tipos de entradas de documentos:
+ **Tipos de documentos baseados em texto** (por exemplo, TXT, CSV, Markdown, HTML, DOC): são processados principalmente por seu conteúdo textual. O Nova se concentrará em entender e extrair informações do texto nesses documentos. 
+ **Tipos de documentos baseados em mídia** (por exemplo, PDF, DOCX): esses arquivos podem conter layouts, imagens, tabelas ou gráficos incorporados complexos. Para documentos baseados em mídia, o Nova processa os elementos visuais e textuais. O Nova emprega a compreensão baseada na visão para interpretar o conteúdo visual, como gráficos, tabelas, diagramas ou capturas de tela, junto com o texto do documento.

  Não há suporte para JPEG2000 e JBIG2 em arquivos PDF no Amazon Nova.

Os formatos de arquivo compatíveis incluem tipos comuns de documentos: texto simples e arquivos de texto estruturado (CSV, TXT), planilhas (XLS/XLSX), HTML/Markdown, documentos do Word (DOC/DOCX) e arquivos PDF. Para imagens em documentos, os formatos de imagem padrão (PNG, JPG, GIF, WebP) são tratados, embora PDFs contendo determinadas codificações de imagem (CYMK, SVG) não sejam suportados. 


**Limites de tamanho do documento e diretrizes de uso**  

| Restrição | Limite | 
| --- | --- | 
|  Número máximo de documentos  |  Até 5 documentos por solicitação (aplicável tanto ao upload direto quanto ao Amazon S3)  | 
|  Tamanho do documento baseado em texto  |  Cada documento de texto (por exemplo, .txt, .csv, .md, .html, .doc) deve ter até 4,5 MB  | 
|  Tamanho do documento baseado em mídia  |  Para arquivos .pdf e .docx, não há limite de tamanho de arquivo individual, mas: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/nova/latest/userguide/modalities-document.html)  | 
|  Conteúdo em PDF não suportado  |  PDFs contendo perfis de cores CMYK ou imagens SVG não são suportados  | 

# Como usar o entendimento de documentos do Nova via API
<a name="modalities-document-examples"></a>

Para ilustrar como usar o Amazon Nova para controle de qualidade (resposta a perguntas) ou análise de documentos, aqui está um exemplo simplificado em Python. Usaremos a API AWS Bedrock (via Boto3 SDK) para enviar um documento PDF junto com uma pergunta para que o modelo responda.

```
            
import base64
import base64
import json
import boto3

# Initialize Bedrock runtime client (adjust region as needed)
client = boto3.client("bedrock-runtime", region_name="us-east-1")

MODEL_ID = "us.amazon.nova-lite-v1:5"  # using Nova Lite model in this example

# Read the document file (PDF) in binary mode
with open("my_document.pdf", "rb") as file:
    doc_bytes = file.read()

# Construct the conversation messages with document + question
messages = [
    {
        "role": "user",
        "content": [
            {
                "document": {
                    "format": "pdf",
                    "name": "Document1",  # neutral name for the document
                    "source": {
                        "bytes": doc_bytes  # embedding the PDF content directly
                    }
                }
            },
            {
                "text": "Here is a question about the document: ... (your question) ... ?"
            }
        ]
    }
]

# Set inference parameters (optional)
inf_params = {"maxTokens": 4000, "topP": 0.1, "temperature": 0.3}

# Invoke the model
response = client.converse(modelId=MODEL_ID, messages=messages, inferenceConfig=inf_params)

# Extract and print the answer
answer_text = response["output"]["message"]["content"][0]["text"]
print(answer_text)
```

Se seus arquivos de entrada forem grandes (excedendo o limite de upload direto de 25 MB) ou se você tiver muitos arquivos, é possível armazená-los no Amazon S3 e referenciá-los. Isso evita o envio de bytes brutos por meio da solicitação. Ao usar o S3, certifique-se de que o serviço Bedrock tenha permissão para acessar o bucket/objeto. Por exemplo, para referenciar um PDF no S3, a fonte do documento usaria “S3Location” em vez de “bytes”, da seguinte forma:

```
messages = [
    {
        "role": "user",
        "content": [
            {
                "document": {
                    "format": "pdf",
                    "name": "Report2023",
                    "source": {
                        "s3Location": {
                            "uri": "s3://your-bucket/path/to/document1.pdf",
                            "bucketOwner": "123456789012"
                        }
                    }
                }
            },
            {
                "text": "Summarize the key findings from the Q3 2023 report."
            }
        ]
    }
]
```

**nota**  
Os nomes dos documentos podem incluir apenas caracteres alfanuméricos, hifens, parênteses e colchetes.  
O campo `name` é vulnerável a injeções de prompt, porque o modelo pode interpretá-lo como instruções de forma inadvertida. Por isso, é recomendável especificar um nome neutro.