

# Práticas recomendadas para a criação de prompts de compreensão visual
<a name="prompting-video-understanding"></a>

**nota**  
Esta documentação é para o Amazon Nova versão 1. Para obter informações sobre como criar prompts de compreensão multimodal no Amazon Nova 2, acesse [Como gerar prompts de entradas multimodais](https://docs.aws.amazon.com/nova/latest/nova2-userguide/prompting-multimodal.html).

A família de modelos do Amazon Nova está equipada com novos recursos visuais que permitem que o modelo compreenda e analise imagens e vídeos, proporcionando oportunidades interessantes para uma interação multimodal. As seções a seguir descrevem as diretrizes para trabalhar com imagens e vídeos no Amazon Nova. Isso inclui as práticas recomendadas, exemplos de código e limitações relevantes a serem consideradas.

Quanto maior a qualidade das imagens ou vídeos que você fornecer, maiores serão as chances de os modelos compreenderem com precisão as informações no arquivo de mídia. Certifique-se de que as imagens ou vídeos estejam nítidos e livres de desfoque ou pixelização excessivos para garantir resultados mais precisos. Se a imagem ou os quadros de vídeo contiverem informações de texto importantes, verifique se o texto está legível e não é muito pequeno. Evite recortar o contexto visual principal apenas para ampliar o texto.

Os modelos do Amazon Nova permitem que você inclua um único vídeo na carga útil, que pode ser fornecido no formato base64 ou por meio de um URI do Amazon S3. Ao usar o método base64, o tamanho geral da carga útil deve ser menor que 25 MB. No entanto, você pode especificar um URI do Amazon S3 para compreensão de imagem, vídeo e documento. O uso do Amazon S3 permite que você aproveite o modelo para arquivos maiores e vários arquivos de mídia, sem ser limitado pela restrição geral do tamanho da carga útil. O Amazon Nova pode analisar o vídeo de entrada e responder a perguntas, classificar um vídeo e resumir as informações no vídeo com base nas instruções fornecidas.

Os modelos do Amazon Nova permitem que você inclua várias imagens na carga útil. O tamanho total da carga útil não deve exceder 25 MB. Os modelos do Amazon Nova podem analisar as imagens passadas e responder a perguntas, classificar uma imagem e resumir imagens com base nas instruções fornecidas.


**Informações sobre a imagem**  

| Tipo de arquivo de mídia | Formatos de arquivo compatíveis | Método de entrada | 
| --- |--- |--- |
| Imagem | PNG, JPG, JPEG, GIF, WebP | Base64 e URI do Amazon S3 | 


**Informações sobre o vídeo**  

| Formato | Tipo MIME | Codificação de vídeo | 
| --- |--- |--- |
| MKV | video/x-matroska | H.264 | 
| MOV | video/quicktime |  H.264 H.265 ProRES  | 
| MP4 | video/mp4 |  DIVX/XVID H.264 H.265 J2K (JPEG2000) MPEG-2 MPEG-4 Parte 2 VP9  | 
| WEBM | video/webm |  VP8 VP9  | 
| FLV | video/x-flv | FLV1 | 
| MPEG | video/mpeg | MPEG-1 | 
| MPG | vídeo/mpg | MPEG-1 | 
| WMV | vídeo/wmv | MSMPEG4v3 (MP43) | 
| 3GPP | vídeo/3gpp | H.264 | 

Não há diferenças na contagem de tokens de entrada de vídeo, independentemente de o vídeo ser passado como Base64 (desde que esteja dentro das restrições de tamanho) ou por meio de um local do Amazon S3.

Observe que, para o formato de arquivo 3gp, o campo “format” passado na solicitação da API deve ter o formato “three\$1gp”.

Ao usar o Amazon S3, certifique-se de que seus metadados “Content-Type” estejam configurados para o tipo MIME correto para o vídeo

**Topics**
+ [Vídeos longos e high-motion](#prompting-video-motion)
+ [Latência](#prompting-video-latency)
+ [Técnicas de geração de prompts para compreensão visual](prompting-vision-prompting.md)

## Vídeos longos e high-motion
<a name="prompting-video-motion"></a>

O modelo realiza a compreensão de vídeo amostrando quadros de vídeos a uma taxa base de um quadro por segundo (FPS). É um equilíbrio entre capturar detalhes no vídeo e consumir os tokens de entrada utilizados, o que afeta o custo, a latência e a duração máxima do vídeo. Embora a amostragem de um evento a cada segundo deva ser suficiente para casos de uso geral, alguns casos de uso em vídeos high-motion, como vídeos de esportes, podem não ter uma boa performance.

Para lidar com vídeos mais longos, a taxa de amostragem é reduzida em vídeos com mais de 16 minutos para 960 quadros fixos, espaçados ao longo da duração do vídeo para Amazon Nova Lite e Amazon Nova Pro. Isso significa que, à medida que um vídeo ultrapassa 16 minutos, quanto menor o FPS, menos detalhes serão capturados. Isso permite casos de uso, como o resumo de vídeos mais longos, mas agrava os problemas com vídeos high-motion, em que os detalhes são importantes. Para o Amazon Nova Premier, a taxa de amostragem de 1 FPS é aplicada até um limite de 3.200 quadros.

Em muitos casos, você pode obter uma amostragem de 1 FPS em vídeos mais longos usando etapas de pré-processamento e várias chamadas. O vídeo pode ser dividido em segmentos menores e, em seguida, cada segmento é analisado usando os recursos de vários modelos do modelo. As respostas são agregadas e uma etapa final usando a conversão de texto em texto gera uma resposta final. Observe que pode haver perda de contexto ao segmentar os vídeos dessa forma. Isso é semelhante às concessões na fragmentação para casos de uso de RAG, e muitas das mesmas técnicas de mitigação são bem transferidas, como a janela deslizante.

Observe que segmentar o vídeo também pode diminuir a latência, pois a análise é feita em paralelo, mas pode gerar significativamente mais tokens de entrada, o que afeta o custo.

## Latência
<a name="prompting-video-latency"></a>

Os vídeos podem ser grandes em tamanho. Embora forneçamos meios para lidar com arquivos de até 1 GB enviando-os para o Amazon S3, tornando as cargas úteis de invocação muito reduzidas, os modelos ainda precisam processar um número potencialmente grande de tokens. Se você estiver usando chamadas síncronas do Amazon Bedrock, como Invoke ou Converse, certifique-se de que seu SDK esteja configurado com um tempo limite apropriado.

Independentemente disso, o URI do Amazon S3 é a forma preferencial quando a latência é um fator. Segmentar os vídeos, conforme descrito na seção anterior, é outra estratégia. O pré-processamento de vídeos de alta resolução e alta taxa de quadros também pode economizar largura de banda e processamento no tamanho do serviço, diminuindo a latência.

# Técnicas de geração de prompts para compreensão visual
<a name="prompting-vision-prompting"></a>

**nota**  
Esta documentação é para o Amazon Nova versão 1. Para obter informações sobre como criar prompts de compreensão multimodal no Amazon Nova 2, acesse [Como gerar prompts de entradas multimodais](https://docs.aws.amazon.com/nova/latest/nova2-userguide/prompting-multimodal.html).

As técnicas a seguir de geração de prompts visuais ajudarão você a criar melhores prompts para o Amazon Nova.

**Topics**
+ [A disposição é importante](#prompting-video-placement)
+ [Vários arquivos de mídia com componentes visuais](#prompting-video-vision-components)
+ [Use as instruções do usuário para obter detalhes sobre tarefas de compreensão da visão](#prompting-video-instructions)
+ [Poucos exemplares capturados](#prompting-video-exemplars)
+ [Detecção de caixa delimitadora](#prompting-video-bounding)
+ [Estilo ou saídas mais completas](#prompting-video-richer-output)
+ [Extrair o conteúdo do documento para o Markdown](#prompting-video-markdown)
+ [Configurações de parâmetros de inferência para compreensão da visão](#prompting-video-parameters)
+ [Classificação de vídeo](#prompting-video-classification)

## A disposição é importante
<a name="prompting-video-placement"></a>

Recomendamos que você coloque os arquivos de mídia (como imagens ou vídeos) antes de adicionar qualquer documento, seguidos pelo texto de instrução ou prompts para orientar o modelo. Embora as imagens colocadas após o texto ou intercaladas com texto ainda tenham uma performance adequada, se o caso de uso permitir, a estrutura *\$1media\$1file\$1-then-\$1text\$1* é a abordagem preferencial.

O modelo a seguir pode ser usado para colocar arquivos de mídia antes do texto ao realizar a compreensão visual.

```
{
      "role": "user",
      "content": [
        {
          "image": "..."
        },
        {
          "video": "..."
        },
        {
          "document": "..."
        },
        {
          "text": "..."
        }
      ]
}
```

### Exemplo: mídia antes do texto
<a name="vision-collapsible"></a>


|  | **Nenhuma estrutura seguida** | Prompt otimizado | 
| --- |--- |--- |
| Usuário | Explique o que está acontecendo na imagem [Image1.png] |  [Image1.png] Explique o que está acontecendo na imagem.  | 

## Vários arquivos de mídia com componentes visuais
<a name="prompting-video-vision-components"></a>

Em situações em que você fornece vários arquivos de mídia em turnos, introduza cada imagem com uma etiqueta numerada. Por exemplo, se você usar duas imagens, rotule-as `Image 1:` e `Image 2:`. Se você usar três vídeos, rotule-os `Video 1:`, ` Video 2:` e `Video 3:`. Você não precisa de novas linhas entre as imagens ou entre as imagens e o prompt.

O modelo abaixo pode ser usado para colocar vários arquivos de mídia:

```
messages = [
        {
            "role": "user",
            "content": [
                {"text":"Image 1:"},
                {"image": {"format": "jpeg", "source": {"bytes": img_1_base64}}},
                {"text":"Image 2:"},
                {"image": {"format": "jpeg", "source": {"bytes": img_2_base64}}},
                {"text":"Image 3:"},
                {"image": {"format": "jpeg", "source": {"bytes": img_3_base64}}},
                {"text":"Image 4:"},
                {"image": {"format": "jpeg", "source": {"bytes": img_4_base64}}},
                {"text":"Image 5:"},
                {"image": {"format": "jpeg", "source": {"bytes": img_5_base64}}},
                {"text":user_prompt},
            ],
        }
    ]
```


| Prompt não otimizado | Prompt otimizado | 
| --- |--- |
|  Descreva o que você vê na segunda imagem. [Image1.png] [Image2.png]  |  [Image1.png] [Image2.png] Descreva o que você vê na segunda imagem.  | 
|  A segunda imagem está descrita no documento incluído? [Image1.png] [Image2.png] [Document1.pdf]  |  [Image1.png] [Image2.png] [Document1.pdf] A segunda imagem está descrita no documento incluído?  | 

Devido aos longos tokens de contexto dos tipos de arquivo de mídia, o prompt do sistema indicado no início do prompt pode não ser respeitado em determinadas ocasiões. Nessa circunstância, recomendamos que você mova todas as instruções do sistema para turnos do usuário e siga as orientações gerais de *\$1media\$1file\$1-then-\$1text\$1*. Isso não afeta a geração de prompts do sistema com RAG, agentes ou uso de ferramentas.

## Use as instruções do usuário para obter detalhes sobre tarefas de compreensão da visão
<a name="prompting-video-instructions"></a>

Para a compreensão de vídeo, o número de tokens no contexto torna as recomendações em [A disposição é importante](#prompting-video-placement) muito importantes. Use o prompt do sistema para coisas mais gerais, como tom e estilo. Recomendamos que você mantenha as instruções relacionadas ao vídeo como parte do prompt do usuário para uma melhor performance.

O modelo a seguir pode ser usado para instruções aprimoradas:

```
{
    "role": "user",
    "content": [
       {
           "video": {
                "format": "mp4",
                "source": { ... }
           }
       },
       {
           "text": "You are an expert in recipe videos. Describe this video in less than 200 words following these guidelines: ..."
       }
    ]
}
```

Assim como no texto, recomendamos aplicar uma cadeia de pensamento em imagens e vídeos para obter melhores desempenhos. Também recomendamos que você coloque as diretivas da cadeia de pensamento no prompt do sistema, mantendo outras instruções no prompt do usuário.

**Importante**  
O modelo do Amazon Nova Premier é um modelo de inteligência superior da família do Amazon Nova, capaz de lidar com tarefas mais complexas. Se suas tarefas exigirem um pensamento avançado em cadeia de pensamento, recomendamos que você utilize o modelo de prompt fornecido em [Dar tempo ao Amazon Nova pensar (cadeia de pensamento)](https://docs.aws.amazon.com/nova/latest/userguide/prompting-chain-of-thought.html). Essa abordagem pode ajudar a aprimorar as habilidades analíticas e de resolução de problemas do modelo.

## Poucos exemplares capturados
<a name="prompting-video-exemplars"></a>

Assim como nos modelos de texto, recomendamos que você forneça exemplos de imagens para melhorar o desempenho de compreensão da imagem (exemplos de vídeos não podem ser fornecidos devido à limitação de um único vídeo por inferência). Recomendamos que você coloque os exemplos no prompt do usuário, depois do arquivo de mídia, em vez de fornecê-los no prompt do sistema.


|  | 0-Shot | 2-Shot | 
| --- |--- |--- |
| User |  | [Image 1] | 
| Assistant |  | The image 1 description | 
| User |  | [Image 2] | 
| Assistant |  | The image 2 description | 
| User | [Image 3] Explique o que está acontecendo na imagem | [Image 3] Explique o que está acontecendo na imagem | 

## Detecção de caixa delimitadora
<a name="prompting-video-bounding"></a>

Caso precise identificar as coordenadas da caixa delimitadora de um objeto, você pode utilizar o modelo do Amazon Nova para gerar caixas delimitadoras em uma escala de [0, 1000]. Depois de obter essas coordenadas, você pode redimensioná-las com base nas dimensões da imagem como uma etapa de pós-processamento. Para obter informações mais detalhadas sobre como realizar essa etapa de pós-processamento, consulte o [caderno do Amazon Nova Image Grounding](https://github.com/aws-samples/amazon-nova-samples/blob/main/multimodal-understanding/repeatable-patterns/13-image-grounding/image_grounding.ipynb).

Confira abaixo um exemplo de prompt para detecção de caixa delimitadora:

```
Detect bounding box of objects in the image, only detect {item_name} category objects with high confidence, output in a list of bounding box format.
Output example:
[
    {"{item_name}": [x1, y1, x2, y2]},
    ...
]

Result:
```

## Estilo ou saídas mais completas
<a name="prompting-video-richer-output"></a>

A saída de compreensão do vídeo pode ser muito curta. Se você quiser saídas mais longas, recomendamos criar uma persona para o modelo. Você pode direcionar essa persona para responder da maneira desejada, de forma semelhante à utilização do perfil do sistema.

Outras modificações nas respostas podem ser obtidas com técnicas de [ one-shot e few-shot](prompting-examples.md). Forneça exemplos do que seria uma boa resposta, e o modelo poderá imitar aspectos dela ao gerar respostas.

## Extrair o conteúdo do documento para o Markdown
<a name="prompting-video-markdown"></a>

O Amazon Nova Premier demonstra recursos aprimorados para entender gráficos incorporados em documentos e a capacidade de ler e compreender conteúdo de domínios complexos, como artigos científicos. Além disso, o Amazon Nova Premier mostra um desempenho aprimorado ao extrair o conteúdo do documento e pode gerar essas informações nos formatos Markdown Table e Latex.

O exemplo a seguir fornece uma tabela em uma imagem, junto com um prompt para que o Amazon Nova Premier converta o conteúdo da imagem em uma tabela Markdown. Depois que o Markdown (ou Latex Representation) for criado, você poderá usar ferramentas para converter o conteúdo em JSON ou outra saída estruturada.

```
Make a table representation in Markdown of the image provided.
```

![\[Uma tabela de dados fornecida como uma imagem em vez de um documento\]](http://docs.aws.amazon.com/pt_br/nova/latest/userguide/images/tableInImage.png)


Veja aqui a saída fornecida pelo modelo:

```
| No. | DATE       | DESCRIPTION | AMOUNT |
|-----|------------|-------------|--------|
| 1   | 2021-04-19 | Guest room  | $180   |
| 2   | 2021-04-19 | Breakfast   | $30    |
| 3   | 2021-04-20 | Guest room  | $180   |
| 4   | 2021-04-20 | Laundry     | $15    |
| 5   | 2021-04-20 | Dinner      | $70    |
| 6   | 2021-04-20 | Breakfast   | $30    |
| 7   | 2021-04-21 | Guest room  | $180   |
| 8   | 2021-04-21 | Breakfast   | $30    |
| 9   | 2021-04-21 | Dinner      | $70    |
| 10  | 2021-04-21 | Laundry     | $15    |
|     |            | Subtotal    | $800   |
|     |            | Discounts   | $24    |
|     |            | Taxes       | $68.9  |
|     |            | Total       | $844.9 |
```

Essa saída usa notação de tabela personalizada, onde `||` é usada como separador de coluna e `&&` como separador de linha.

## Configurações de parâmetros de inferência para compreensão da visão
<a name="prompting-video-parameters"></a>

Para casos de uso de compreensão da visão, recomendamos que você comece com os parâmetros de inferência `temperature` definidos como **0** e `topK` definidos como **1**. Depois de observar a saída do modelo, você pode ajustar os parâmetros de inferência com base no caso de uso. Esses valores geralmente dependem da tarefa e da variação necessária, aumentam a configuração de temperatura para induzir mais variações nas respostas.

## Classificação de vídeo
<a name="prompting-video-classification"></a>

Para classificar efetivamente o conteúdo de vídeo em categorias apropriadas, forneça as categorias que o modelo possa usar para classificação. Considere a amostra de prompt a seguir:

```
[Video]

Which category would best fit this video? Choose an option from the list below:
\Education\Film & Animation\Sports\Comedy\News & Politics\Travel & Events\Entertainment\Trailers\How-to & Style\Pets & Animals\Gaming\Nonprofits & Activism\People & Blogs\Music\Science & Technology\Autos & Vehicles
```

**Tags de vídeos**  
O Amazon Nova Premier apresenta uma funcionalidade aprimorada para criar tags de vídeo. Para obter melhores resultados, use a seguinte instrução solicitando tags separadas por vírgula: “Use vírgulas para separar cada tag”. Veja a seguir um exemplo de prompt:

```
[video]

"Can you list the relevant tags for this video? Use commas to separate each tag."
```

**Legendas densas de vídeos**  
O Amazon Nova Premier demonstra recursos aprimorados para fornecer legendas densas: descrições textuais detalhadas geradas para vários segmentos do vídeo. Aqui está um exemplo de prompt:

```
[Video]

Generate a comprehensive caption that covers all major events and visual elements in the video.
```