AI21 Labs Modelos Jamba - 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 Labs Modelos Jamba

En esta sección se proporcionan parámetros de inferencia y un ejemplo de código para su uso AI21 Labs Modelos de Jamba.

Campos obligatorios

Los modelos Jamba de AI21 Labs admiten 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:

  • Función (role): la función 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

Los modelos Jamba de AI21 Labs admiten los siguientes parámetros de inferencia.

Asignación al azar y diversidad

Los modelos Jamba de AI21 Labs admiten 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

Los modelos Jamba de AI21 Labs admiten 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 de AI21 Labs admiten los siguientes parámetros para controlar la repetición en la respuesta generada.

  • Penalización por 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 haces una InvokeModelWithResponseStreamllamada InvokeModelo haces una llamada con un AI21 Labs modelo, rellene el body campo con un JSON objeto 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))

conversar

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 para Jamba 1.5 Large

En este ejemplo se muestra cómo llamar al modelo AI21Labs 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 }