AI21 LabsModelos Jamba-Instruct - Amazon Bedrock

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.

AI21 LabsModelos Jamba-Instruct

En esta sección se proporcionan parámetros de inferencia y un ejemplo de código para usar modelos. AI21 Jamba-Instruct

Campos obligatorios

El modelo Jamba-Instruct de AI21 Labs admite los siguientes campos obligatorios:

  • Mensajes (messages): los mensajes anteriores de este chat, del 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 fichas. Cada mensaje incluye a los siguientes miembros:

  • Rol (role): 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 entre en conflicto con las instrucciones del system mensaje tiene prioridad sobre las instrucciones del system mensaje.

    • Assistant (assistant): respuesta generada por el modelo.

    • Sistema (system): instrucciones iniciales proporcionadas al sistema para proporcionar una guía general sobre el tono y la voz del mensaje generado. Un mensaje inicial del sistema es opcional, pero se recomienda que sirva de guía sobre el tono del chat. Por ejemplo, «Eres un chatbot útil con formación en ciencias de la tierra y un encantador acento francés».

  • Contenido (content): el contenido del mensaje.

Parámetros de inferencia

El modelo Jamba-Instruct de AI21 Labs admite los siguientes parámetros de inferencia.

Asignación al azar y diversidad

El modelo Jamba-Instruct de AI21 Labs admite los siguientes parámetros para controlar la aleatoriedad y la diversidad de la respuesta.

  • Temperatura (temperature): cuánta variación se debe proporcionar en cada respuesta. Si se establece este valor en 0, se garantiza siempre la misma respuesta a la misma pregunta. Si se establece un valor más alto, se fomenta una mayor variación. Modifica la distribución a partir de la cual se toman muestras de los tokens. Predeterminado: 1.0, rango: 0.0 — 2.0

  • Top P (top_p): limita el grupo de fichas siguientes de cada paso al percentil N superior de las fichas posibles, donde 1,0 significa la reserva de todas las fichas posibles y 0,01 significa la reserva de solo las siguientes fichas más probables.

Longitud

El modelo Jamba Instruct de AI21 Labs admite los siguientes parámetros para controlar la longitud de la respuesta generada.

  • Longitud máxima de finalización (max_tokens): la cantidad máxima de fichas que se pueden utilizar 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 el indicador del sistema (por ejemplo, «limita las respuestas a tres frases»). Predeterminado: 4096, rango: 0 — 4096.

  • Parar secuencias (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 K y puede contener líneas nuevas en forma de\ n caracteres.

    Ejemplos:

    • Cadena de punto único con una palabra y un punto: «monos».

    • Varias cadenas de puntos y una nueva línea: ["cat», «dog»,» . «, «####», "\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 streaming. Si n se establece en un valor mayor que 1, la configuración siempre temperature=0 fallará porque se garantiza que todas las respuestas estén duplicadas. Predeterminado: 1, rango: 1 — 16

Repeticiones

Los modelos Jamba-Instruct de AI21 Labs admiten los siguientes parámetros para controlar la repetición en la respuesta generada.

  • Penalización de frecuencia (frequency_penalty): reduce la frecuencia de las palabras repetidas en un solo mensaje de respuesta aumentando este número. Esta penalización aumenta gradualmente cuantas más veces aparezca 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 por presencia (presence_penalty): reduce la frecuencia con la que se repiten palabras en un mismo mensaje aumentando este 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 realices una InvokeModelWithResponseStreamllamada InvokeModelo una llamada utilizando un AI21 Labs modelo, rellena el body campo 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 body campo de la respuesta, consulta https://docs.ai21.com/reference/ jamba-instruct-api #response -details.

Ejemplo de código

Este ejemplo muestra cómo llamar al modelo Jamba-Instruct de AI21 Labs.

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))

conversa

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))