Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Modelos AI21 Labs Jamba
En esta sección se proporcionan parámetros de inferencia y un ejemplo de código para utilizar los modelos AI21 Labs Jamba.
Temas
Campos obligatorios
Los modelos AI21 Labs Jamba admiten los siguientes campos obligatorios:
-
Mensajes (
messages
): son los mensajes anteriores de este chat, desde el más antiguo (índice 0) al más reciente. Debe haber al menos un mensaje de usuario o asistente en la lista. Incluya tanto las entradas de los usuarios como las respuestas del sistema. El tamaño total máximo de la lista es de aproximadamente 256 000 tokens. Cada mensaje incluye los siguientes miembros: -
Rol (
role
): es el rol del autor del mensaje. Uno de los valores siguientes:-
Usuario (
user
): entrada proporcionada por el usuario. Cualquier instrucción que se dé aquí y que contradiga las instrucciones de la peticiónsystem
tiene prioridad sobre las instrucciones de la peticiónsystem
. -
Asistente (
assistant
): respuesta generada por el modelo. -
Sistema (
system
): instrucciones iniciales proporcionadas al sistema para proporcionar instrucciones generales sobre el tono y la voz del mensaje generado. Un mensaje inicial del sistema es opcional, pero se recomienda para informar sobre el tono del chat. Por ejemplo, “Eres un chatbot de ayuda formado en ciencias de la tierra y con un encantador acento francés”.
-
-
Contenido (
content
): es el contenido del mensaje.
Parámetros de inferencia
Los modelos AI21 Labs Lambda admiten los siguientes parámetros de inferencia.
Asignación al azar y diversidad
Los modelos AI21 Labs Jamba admiten los siguientes parámetros para controlar la asignación al azar y la diversidad en la respuesta.
-
Temperatura (
temperature
): nivel de variación que se debe proporcionar en cada respuesta. Si se establece en 0, se garantiza que siempre habrá la misma respuesta a la misma pregunta. Si se establece un valor mayor, se fomenta una mayor variedad en la respuesta. Modifica la distribución a partir de la que se toman muestras de los tokens. Predeterminado: 1,0; rango: de 0,0 a 2,0 -
P superior (
top_p
): limita el grupo de tokens que sigue en cada paso al percentil N superior de los tokens posibles, donde 1,0 significa el grupo de todos los tokens posibles y 0,01 significa el grupo de solo los siguientes tokens más probables.
Longitud
Los modelos AI21 Labs Jamba admiten los siguientes parámetros para controlar la longitud de la respuesta generada.
-
Longitud máxima de finalización (
max_tokens
): es la cantidad máxima de tokens permitida para cada mensaje de respuesta generado. Por lo general, la mejor forma de limitar la longitud de la salida es proporcionar un límite de longitud en la petición del sistema (por ejemplo, “limite las respuestas a tres frases”). Predeterminado: 4096, rango: de 0 a 4096. -
Secuencias de parada (
stop
): finaliza el mensaje cuando el modelo genera una de estas cadenas. La secuencia de parada no está incluida en el mensaje generado. Cada secuencia puede tener una longitud máxima de 64 000 y puede contener líneas nuevas en forma de \n caracteres.Ejemplos:
-
Cadena de parada única con una palabra y un punto: “monos”.
-
Varias cadenas de paradas y una nueva línea: [“gato”, “perro”, “ .”, “####”, “/n”]
-
-
Número de respuestas (
n
): cuántas respuestas de chat se van a generar. Las notas n deben ser 1 para las respuestas de transmisión. Si n se establece en un valor mayor que 1, la configuracióntemperature=0
siempre fallará porque se garantiza que todas las respuestas estén duplicadas. Predeterminado: 1, rango: de 1 a 16
Repeticiones
Los modelos AI21 Labs Jamba admiten los siguientes parámetros para controlar la repetición de la respuesta generada.
-
Penalización de frecuencia (
frequency_penalty
): reduce la frecuencia de palabras repetidas en un solo mensaje de respuesta aumentando dicho número. Esta penalización aumenta gradualmente la repetición de una palabra durante la generación de la respuesta. Si se establece en 2,0, se producirá una cadena con pocas o ninguna palabra repetida. -
Penalización de presencia (
presence_penalty
): reduce la frecuencia de palabras repetidas dentro de un solo mensaje aumentando dicho número. A diferencia de la penalización por frecuencia, la penalización por presencia es la misma independientemente del número de veces que aparezca una palabra.
Campo del cuerpo de la solicitud de invocación del modelo
Cuando realice una llamada a InvokeModel o a InvokeModelWithResponseStream con un modelo AI21 Labs, rellene el campo body
con un objeto JSON que se ajuste al siguiente. Introduzca la petición en el campo prompt
.
{ "messages": [ { "role":"system", // Non-printing contextual information for the model "content":"You are a helpful history teacher. You are kind and you respond with helpful content in a professional manner. Limit your answers to three sentences. Your listener is a high school student." }, { "role":"user", // The question we want answered. "content":"Who was the first emperor of rome?" } ], "n":1 // Limit response to one answer }
Campo de cuerpo de respuesta a la invocación del modelo
Para obtener información sobre el formato del campo body
de la respuesta, consulte https://docs.ai21.com/reference/jamba-instruct-api#response-details
Ejemplo de código
En este ejemplo se muestra cómo llamar al modelo AI21 Labs Jamba-Instruct.
invoke_model
import boto3 import json bedrock = session.client('bedrock-runtime', 'us-east-1') response = bedrock.invoke_model( modelId='ai21.jamba-instruct-v1:0', body=json.dumps({ 'messages': [ { 'role': 'user', 'content': 'which llm are you?' } ], }) ) print(json.dumps(json.loads(response['body']), indent=4))
converse
import boto3 import json bedrock = session.client('bedrock-runtime', 'us-east-1') response = bedrock.converse( modelId='ai21.jamba-instruct-v1:0', messages=[ { 'role': 'user', 'content': [ { 'text': 'which llm are you?' } ] } ] ) print(json.dumps(json.loads(response['body']), indent=4))
Ejemplo de código de Jamba 1.5 Large
En este ejemplo se muestra cómo llamar al modelo AI21 Labs Jamba 1.5 Large.
invoke_model
POST https://bedrock-runtime.us-east-1.amazonaws.com/model/ai21.jamba-1-5-mini-v1:0/invoke-model HTTP/1.1 { "messages": [ { "role": "system", "content": "You are a helpful chatbot with a background in earth sciences and a charming French accent." }, { "role": "user", "content": "What are the main causes of earthquakes?" } ], "max_tokens": 512, "temperature": 0.7, "top_p": 0.9, "stop": ["###"], "n": 1 }