View a markdown version of this page

Peticiones de entradas multimodales - Amazon Nova

Peticiones de entradas multimodales

En las siguientes secciones, se proporciona orientación para la comprensión de imágenes y videos. Para peticiones relacionadas con audio, consulte la sección Peticiones de conversación de voz.

Directrices multimodales generales

Peticiones del usuario y del sistema

Para los casos de uso de comprensión multimodal, cada solicitud debe incluir el texto de la petición del usuario. Las peticiones del sistema, que solo pueden contener texto, son opcionales.

Las peticiones del sistema se pueden usar para especificar una persona para el modelo y para definir la personalidad general y el estilo de la respuesta, pero no deben usarse para definir tareas detalladas ni para dar instrucciones del formato de salida.

Incluya la definición de la tarea, las instrucciones y los detalles del formato en la petición del usuario para que tenga un efecto más fuerte que la petición del sistema en los casos de uso multimodales.

Orden del contenido

Una solicitud de comprensión multimodal enviada a Amazon Nova debe contener uno o más archivos y una petición del usuario. La petición de texto del usuario debe ser el último elemento del mensaje, siempre después del contenido de la imagen, el documento o el video.

message = { "role": "user", "content": [ { "document|image|video|audio": {...} }, { "document|image|video|audio": {...} }, ... { "text": "<user prompt>" } ] }

En los casos en los que desee hacer referencia a archivos específicos desde la petición del usuario, utilice elementos de “texto” para definir las etiquetas que preceden a cada bloque de archivos.

message = { "role": "user", "content": [ { "text": "<label for item 1>" }, { "document|image|video|audio": {...} }, { "text": "<label for item 2>" }, { "document|image|video|audio": {...} }, ... { "text": "<user prompt>" } ] }

Comprensión de documentos e imágenes

En las siguientes secciones, se proporciona orientación sobre cómo crear peticiones para tareas que requieren comprender o analizar imágenes y documentos.

Extracción de texto a partir de imágenes

Los modelos de Amazon Nova pueden extraer texto de las imágenes, una capacidad denominada reconocimiento óptico de caracteres (OCR). Para obtener los mejores resultados, asegúrese de que la entrada de imagen que proporcione al modelo tenga una resolución lo suficientemente alta como para que los caracteres del texto sean fáciles de distinguir.

Para casos de uso de extracción de texto, recomendamos la siguiente configuración de inferencia:

  • Temperatura: predeterminada (0,7)

  • TopP: predeterminado (0,9)

  • No habilite el razonamiento

Los modelos de Amazon Nova pueden extraer texto en formato Markdown, HTML o LaTeX. Se recomienda la siguiente plantilla de petición del usuario:

## Instructions Extract all information from this page using only {text_formatting} formatting. Retain the original layout and structure including lists, tables, charts and math formulae. ## Rules 1. For math formulae, always use LaTeX syntax. 2. Describe images using only text. 3. NEVER use HTML image tags `<img>` in the output. 4. NEVER use Markdown image tags `![]()` in the output. 5. Always wrap the entire output in ``` tags.

La salida está envuelta en vallas de código Markdown totales o parciales (```). Puede eliminar las vallas de código mediante código similar al siguiente:

def strip_outer_code_fences(text): lines = text.split("\n") # Remove only the outer code fences if present if lines and lines[0].startswith("```"): lines = lines[1:] if lines and lines[-1].startswith("```"): lines = lines[:-1] return "\n".join(lines).strip()

Extracción de información estructurada a partir de imágenes o texto

Los modelos de Amazon Nova pueden extraer información de imágenes en formato JSON analizable automáticamente, un proceso denominado extracción de información clave (KIE). Para realizar la KIE, proporcione lo siguiente:

  • Un esquema JSON. Una definición de esquema formal que siga la especificación del esquema JSON.

  • Una o más de las siguientes opciones: un archivo de documento o imagen o texto de documento

El documento o la imagen siempre deben colocarse antes de que la petición del usuario en la solicitud.

Para casos de uso de KIE, recomendamos la siguiente configuración de inferencia:

  • Temperatura: 0

  • Razonamiento: no es obligatorio, pero puede mejorar los resultados cuando se utilizan entradas de solo imágenes o esquemas complejos.

Plantillas de peticiones

Given the image representation of a document, extract information in JSON format according to the given schema. Follow these guidelines: - Ensure that every field is populated, provided the document includes the corresponding value. Only use null when the value is absent from the document. - When instructed to read tables or lists, read each row from every page. Ensure every field in each row is populated if the document contains the field. JSON Schema: {json_schema}
Given the OCR representation of a document, extract information in JSON format according to the given schema. Follow these guidelines: - Ensure that every field is populated, provided the document includes the corresponding value. Only use null when the value is absent from the document. - When instructed to read tables or lists, read each row from every page. Ensure every field in each row is populated if the document contains the field. JSON Schema: {json_schema} OCR: {document_text}
Given the image and OCR representations of a document, extract information in JSON format according to the given schema. Follow these guidelines: - Ensure that every field is populated, provided the document includes the corresponding value. Only use null when the value is absent from the document. - When instructed to read tables or lists, read each row from every page. Ensure every field in each row is populated if the document contains the field. JSON Schema: {json_schema} OCR: {document_text}

Detección de objetos y sus posiciones en imágenes

Los modelos de Amazon Nova 2 permiten identificar objetos y sus posiciones dentro de las imágenes, una tarea que a veces se denomina localización de imágenes o localización de objetos. Las aplicaciones prácticas incluyen el análisis y el etiquetado de imágenes, la automatización de la interfaz de usuario y la edición de imágenes, entre otras.

Independientemente de la resolución de entrada de la imagen y de la relación de aspecto, el modelo utiliza un espacio de coordenadas que divide la imagen en 1000 unidades horizontalmente y 1000 unidades verticalmente, con la ubicación x:0 y:0 en la parte superior izquierda de la imagen.

Los cuadros delimitadores se describen con el formato [x1, y1, x2, y2] que representa la izquierda, la parte superior, la derecha y la parte inferior, respectivamente. Las coordenadas bidimensionales se representan con el formato [x, y].

Para casos de uso de detección de objetos, recomendamos que se utilicen los siguientes valores de parámetros de inferencia:

  • Temperatura: 0

  • No habilite el razonamiento

Plantillas de peticiones: detección de objetos general

Se recomienda las siguientes plantilla de peticiones del usuario.

Detección de varias instancias con cuadros delimitadores:

Please identify {target_description} in the image and provide the bounding box coordinates for each one you detect. Represent the bounding box as the [x1, y1, x2, y2] format, where the coordinates are scaled between 0 and 1000 to the image width and height, respectively.

Detección de una sola región con un cuadro delimitador:

Please generate the bounding box coordinates corresponding to the region described in this sentence: {target_description}. Represent the bounding box as the [x1, y1, x2, y2] format, where the coordinates are scaled between 0 and 1000 to the image width and height, respectively.

Detección de varias instancias con puntos centrales:

Please identify {target_description} in the image and provide the center point coordinates for each one you detect. Represent the point as the [x, y] format, where the coordinates are scaled between 0 and 1000 to the image width and height, respectively.

Detección de una sola región con un punto central:

Please generate the center point coordinates corresponding to the region described in this sentence: {target_description}. Represent the center point as the [x, y] format, where the coordinates are scaled between 0 and 1000 to the image width and height, respectively.

Análisis de la salida del modelo:

Cada una de las peticiones recomendadas anteriormente generará una cadena separada por comas que contiene una o más descripciones de cuadros delimitadores en un formato similar al siguiente. Puede haber una ligera variación en función de si se incluye un “.” al final de la cadena. Por ejemplo: ., [356, 770, 393, 872], [626, 770, 659, 878].

Puede analizar la información de coordenadas generada por el modelo mediante una expresión regular, como se muestra en el siguiente ejemplo de código de Python.

def parse_coord_text(text): """Parses a model response which uses array formatting ([x, y, ...]) to describe points and bounding boxes. Returns an array of tuples.""" pattern = r"\[([^\[\]]*?)\]" return [ tuple(int(x.strip()) for x in match.split(",")) for match in re.findall(pattern, text) ]

Para reasignar las coordenadas normalizadas de un cuadro delimitador al espacio de coordenadas de la imagen de entrada, puede utilizar una función similar a la del siguiente ejemplo de Python.

def remap_bbox_to_image(bounding_box, image_width, image_height): return [ bounding_box[0] * image_width / 1000, bounding_box[1] * image_height / 1000, bounding_box[2] * image_width / 1000, bounding_box[3] * image_height / 1000, ]
Plantillas de peticiones: detección de varias clases de objetos con posiciones

Si desea identificar varias clases de elementos en una imagen, puede incluir una lista de clases en la petición mediante uno de los siguientes enfoques de formato.

En el caso de las clases más comunes que probablemente el modelo comprenda bien, enumere los nombres de las clases (sin comillas) entre corchetes:

[car, traffic light, road sign, pedestrian]

En el caso de las clases con matices, poco frecuentes o que provengan de dominios especializados con los que el modelo tal vez no esté familiarizado, incluya una definición para cada clase entre paréntesis. Como se trata de una tarea difícil, cabe esperar que el rendimiento del modelo se deteriore.

[taraxacum officinale (Dandelion - bright yellow flowers, jagged basal leaves, white puffball seed heads), digitaria spp (Crabgrass - low spreading grass with coarse blades and finger-like seed heads), trifolium repens (White Clover - three round leaflets and small white pom-pom flowers), plantago major (Broadleaf Plantain - wide oval rosette leaves with tall narrow seed stalks), stellaria media (Chickweed - low mat-forming plant with tiny star-shaped white flowers)]

Utilice una de las siguientes plantillas de peticiones del usuario en función del formato de salida JSON que prefiera.

Detect all objects with their bounding boxes in the image from the provided class list. Normalize the bounding box coordinates to be scaled between 0 and 1000 to the image width and height, respectively. Classes: {candidate_class_list} Include separate entries for each detected object as an element of a list. Formulate your output as JSON format: [ { "class 1": [x1, y1, x2, y2] }, ... ]
Detect all objects with their bounding boxes in the image from the provided class list. Normalize the bounding box coordinates to be scaled between 0 and 1000 to the image width and height, respectively. Classes: {candidate_class_list} Include separate entries for each detected object as an element of a list. Formulate your output as JSON format: [ { "class": class 1, "bbox": [x1, y1, x2, y2] }, ... ]
Detect all objects with their bounding boxes in the image from the provided class list. Normalize the bounding box coordinates to be scaled between 0 and 1000 to the image width and height, respectively. Classes: {candidate_class_list} Group all detected bounding boxes by class. Formulate your output as JSON format: { "class 1": [[x1, y1, x2, y2], [x1, x2, y1, y2], ...], ... }
Detect all objects with their bounding boxes in the image from the provided class list. Normalize the bounding box coordinates to be scaled between 0 and 1000 to the image width and height, respectively. Classes: {candidate_class_list} Group all detected bounding boxes by class. Formulate your output as JSON format: [ { "class": class 1, "bbox": [[x1, y1, x2, y2], [x1, x2, y1, y2], ...] }, ... ]

Análisis de la salida del modelo

La salida se codificará como un JSON que se puede analizar con cualquier biblioteca de análisis de JSON.

Plantillas de peticiones: detección de límites de interfaz de usuario de capturas de pantalla

Se recomienda las siguientes plantilla de peticiones del usuario.

Detección de la posición de elementos de interfaz de usuario en función de un objetivo:

In this UI screenshot, what is the location of the element if I want to {goal}? Express the location coordinates using the [x1, y1, x2, y2] format, scaled between 0 and 1000.

Detección de la posición de elementos de interfaz de usuario en función de texto:

In this UI screenshot, what is the location of the element if I want to click on "{text}"? Express the location coordinates using the [x1, y1, x2, y2] format, scaled between 0 and 1000.

Análisis de la salida del modelo:

Para cada una de las peticiones de detección de límites de interfaz de usuario anteriores, puede analizar la información de coordenadas generada por el modelo mediante una expresión regular, como se muestra en el siguiente ejemplo de código de Python.

def parse_coord_text(text): """Parses a model response which uses array formatting ([x, y, ...]) to describe points and bounding boxes. Returns an array of tuples.""" pattern = r"\[([^\[\]]*?)\]" return [ tuple(int(x.strip()) for x in match.split(",")) for match in re.findall(pattern, text) ]

Comprensión de videos

En las siguientes secciones, se proporciona orientación sobre cómo crear peticiones para tareas que requieren comprender o analizar videos.

Resumen de videos

Los modelos de Amazon Nova pueden generar resúmenes del contenido de videos.

Para casos de uso de resúmenes de videos, recomendamos que se utilicen los siguientes valores de parámetros de inferencia:

  • Temperatura: 0

  • Es posible que algunos casos de uso se beneficien de la activación del razonamiento del modelo

No se requiere ninguna plantilla de petición específica. La petición del usuario debe especificar claramente los aspectos del video que le interesan. Estos son algunos ejemplos de peticiones eficaces:

Can you create an executive summary of this video's content?
Can you distill the essential information from this video into a concise summary?
Could you provide a summary of the video, focusing on its key points?

Generación de subtítulos detallados para videos

Los modelos de Amazon Nova pueden generar subtítulos detallados para videos, una tarea que se denomina subtitulación densa.

Para casos de uso de subtitulación de videos, recomendamos que se utilicen los siguientes valores de parámetros de inferencia:

  • Temperatura: 0

  • Es posible que algunos casos de uso se beneficien de la activación del razonamiento del modelo

No se requiere ninguna plantilla de petición específica. La petición del usuario debe especificar claramente los aspectos del video que le interesan. Estos son algunos ejemplos de peticiones eficaces:

Provide a detailed, second-by-second description of the video content.
Break down the video into key segments and provide detailed descriptions for each.
Generate a rich textual representation of the video, covering aspects like movement, color and composition.
Describe the video scene-by-scene, including details about characters, actions and settings.
Offer a detailed narrative of the video, including descriptions of any text, graphics, or special effects used.
Create a dense timeline of events occurring in the video, with timestamps if possible.

Análisis de grabaciones de videos de seguridad

Los modelos de Amazon Nova pueden detectar eventos en grabaciones de seguridad.

Para casos de uso de grabaciones de seguridad, recomendamos que se utilicen los siguientes valores de parámetros de inferencia:

  • Temperatura: 0

  • Es posible que algunos casos de uso se beneficien de la activación del razonamiento del modelo

You are a security assistant for a smart home who is given security camera footage in natural setting. You will examine the video and describe the events you see. You are capable of identifying important details like people, objects, animals, vehicles, actions and activities. This is not a hypothetical, be accurate in your responses. Do not make up information not present in the video.

Extracción de eventos de videos con marcas de tiempo

Los modelos de Amazon Nova pueden identificar las marcas de tiempo relacionadas con los eventos de un video. Puede solicitar que las marcas de tiempo se formateen en segundos o como MM:SS. Por ejemplo, un evento que ocurre en la marca de tiempo 1 minuto y 25 segundos del video se puede representar como 85 o 01:25.

Para este caso de uso, recomendamos que se utilicen los siguientes valores de parámetros de inferencia:

  • Temperatura: 0

  • No utilice el razonamiento

Le recomendamos que utilice peticiones similares a la siguiente:

Please localize the moment that the event "{event_description}" happens in the video. Answer with the starting and ending time of the event in seconds, such as [[72, 82]]. If the event happen multiple times, list all of them, such as [[40, 50], [72, 82]].
Locate the segment where "{event_description}" happens. Specify the start and end times of the event in MM:SS.
Answer the starting and end time of the event "{event_description}". Provide answers in MM:SS
When does "{event_description}" in the video? Specify the start and end timestamps, e.g. [[9, 14]]
Please localize the moment that the event "{event_description}" happens in the video. Answer with the starting and ending time of the event in seconds. e.g. [[72, 82]]. If the event happen multiple times, list all of them. e.g. [[40, 50], [72, 82]]
Segment a video into different scenes and generate caption per scene. The output should be in the format: [STARTING TIME-ENDING TIMESTAMP] CAPTION. Timestamp in MM:SS format
For a video clip, segment it into chapters and generate chapter titles with timestamps. The output should be in the format: [STARTING TIME] TITLE. Time in MM:SS
Generate video captions with timestamp.

Clasificación de videos

Puede usar los modelos de Amazon Nova para clasificar videos en función de una lista predefinida de clases que proporcione.

Para este caso de uso, recomendamos que se utilicen los siguientes valores de parámetros de inferencia:

  • Temperatura: 0

  • No se debe utilizar el razonamiento

Utilice la siguiente plantilla de petición:

What is the most appropriate category for this video? Select your answer from the options provided: {class1} {class2} {...}

Ejemplo:

What is the most appropriate category for this video? Select your answer from the options provided: Arts Technology Sports Education