Invocación de los modelos de comprensión de Amazon Nova
Los modelos de comprensión multimodal de Amazon Nova están disponibles para su uso en la inferencia mediante la API de Invoke (InvokeModel, InvokeModelWithResponseStream) y la API de Converse (Converse y ConverseStream). Para crear aplicaciones conversacionales, consulte Cómo mantener una conversación con las operaciones de la API de Converse. Los dos métodos de la API (Invoke y Converse) siguen un patrón de solicitudes muy similar, como se detalla a continuación.
Las principales diferencias entre la API de Invoke y la API de Converse son las siguientes:
-
Los parámetros de inferencia, como TopK, no son compatibles con Converse y deben transferirse a
additionalModelRequestFields
, mientras que en la API de Invoke se pueden transferir directamente a los parámetros de inferencia. -
La compatibilidad con documentos se limita únicamente a la API de Converse y no se admite en la API de Invoke.
-
Los formatos de análisis de respuestas son diferentes entre los constructos de la API de Invoke y la API de Converse.
-
La transmisión de respuestas es diferente entre
ConverseStream
yInvokeModelWithStreaming
.
Para invocar los modelos de Amazon Nova, debe Solicitar acceso a un modelo fundacional de Amazon Bedrock en cada región en la que desee utilizar los modelos.
Temas
Descripción general de la API de Messages
Los modelos de comprensión de Amazon Nova utilizan la API de Messages, que permite enviar listas estructuradas de mensajes de entrada que contienen texto, imágenes, videos y documentos. A continuación, el modelo genera el siguiente mensaje de la conversación. La API de Messages admite tanto consultas individuales como conversaciones multiturno sin estado, lo que permite la creación de chatbots y aplicaciones de asistentes virtuales. La API administra los intercambios conversacionales entre un usuario y un modelo de Amazon Nova (asistente).
Los modelos de Amazon Nova están entrenados para que funcionen en turnos de conversación alternos entre el usuario y el asistente. Al crear un mensaje nuevo, se especifican los turnos de conversación anteriores con el parámetro messages. A continuación, el modelo genera los siguientes mensajes de la conversación.
Cada mensaje de entrada debe ser un objeto que contenga un rol y contenido. Los usuarios pueden especificar un solo mensaje con el rol de usuario o incluir varios mensajes con los roles de usuario y asistente. Sin embargo, el primer mensaje debe utilizar siempre el rol de usuario. Si se emplea la técnica de rellenar previamente la respuesta de Amazon Nova (incluyendo un mensaje final con el rol de asistente), el modelo continuará su respuesta a partir del contenido proporcionado. Este enfoque seguirá dando como resultado una respuesta con el rol de asistente.
Lo siguiente representa un solo mensaje de usuario:
[{ "role": "user", "content": [{"text":"Hello, Nova"}] }]
Este es un ejemplo con varios turnos de conversación:
[ {"role": "user", "content": [{"text": "Hello there."}]}, {"role": "assistant", "content": [{"text": "Hi, I'm Chatbot trained to answer your questions. How can I help you?"}]}, {"role": "user", "content": [{"text": "Can you explain LLMs in plain English?"}]} ]
Este es un ejemplo con una respuesta parcialmente completada de Amazon Nova:
[ {"role": "user", "content": [{"text":"Please describe yourself using only JSON"}]}, {"role": "assistant", "content": [{"text":"Here is my JSON description:\n{"}]} ]
Para obtener información sobre la creación de peticiones para modelos de Amazon Nova, consulte Prácticas recomendadas para peticiones de comprensión de textos.
Utilización de la petición del sistema
Puede incluir una petición del sistema en la solicitud. Una petición del sistema le permite proporcionar contexto e instrucciones a Amazon Nova, por ejemplo, especificar un objetivo o rol en particular. Especifique una petición del sistema en el campo system
, tal como se muestra en el siguiente ejemplo:
[ {"text": "You are an expert SaS analyst......"} ]
Consulte las siguientes secciones para ver ejemplos de cómo incluir una petición del sistema: