

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 Jurassic-2
<a name="model-parameters-jurassic2"></a>

En esta sección se proporcionan parámetros de inferencia y un ejemplo de código para utilizar los modelos AI21 Labs AI21 Labs Jurassic-2.

**Topics**
+ [Parámetros de inferencia](#model-parameters-jurassic2-request-response)
+ [Ejemplo de código](#api-inference-examples-a2i-jurassic)

## Parámetros de inferencia
<a name="model-parameters-jurassic2-request-response"></a>

Los modelos AI21 Labs Jurassic-2 admiten los siguientes parámetros de inferencia.

**Topics**
+ [Asignación al azar y diversidad](#model-parameters-jurassic2-random)
+ [Longitud](#model-parameters-jurassic2-length)
+ [Repeticiones](#model-parameters-jurassic2-reps)
+ [Campo del cuerpo de la solicitud de invocación del modelo](#model-parameters-jurassic2-request-body)
+ [Campo de cuerpo de respuesta a la invocación del modelo](#model-parameters-jurassic2-response-body)

### Asignación al azar y diversidad
<a name="model-parameters-jurassic2-random"></a>

Los modelos AI21 Labs Jurassic-2 admiten los siguientes parámetros para controlar la asignación al azar y la diversidad en la respuesta.
+ **Temperatura** (`temperature`): utilice un valor más bajo para reducir la asignación al azar de la respuesta.
+ **Top P** (`topP`): utilice un valor más bajo para ignorar las opciones menos probables.

### Longitud
<a name="model-parameters-jurassic2-length"></a>

Los modelos AI21 Labs Jurassic-2 admiten los siguientes parámetros para controlar la longitud de la respuesta generada.
+ **Longitud máxima de finalización** (`maxTokens`): especifique la cantidad máxima de tokens para usar en la respuesta generada.
+ **Secuencias de detención** (`stopSequences`): configure las secuencias de detención que el modelo reconoce y, tras lo cual, deja de generar más tokens. Pulse la tecla Intro para insertar un carácter de nueva línea en una secuencia de detención. Utilice la tecla de tabulación para terminar de insertar una secuencia de detención.

### Repeticiones
<a name="model-parameters-jurassic2-reps"></a>

Los modelos AI21 Labs Jurassic-2 admiten los siguientes parámetros para controlar la repetición de la respuesta generada.
+ **Penalización por presencia** (`presencePenalty`): usa un valor más alto para reducir la probabilidad de generar nuevos tokens que ya aparezcan al menos una vez en la petición o al completarlas.
+ **Penalización por recuento** (`countPenalty`): usa un valor más alto para reducir la probabilidad de generar nuevos tokens que ya aparezcan al menos una vez en la petición o al completarlas. Proporcional al número de apariciones.
+ **Penalización por frecuencia** (`frequencyPenalty`): usa un valor alto para reducir la probabilidad de generar nuevos tokens que ya aparezcan al menos una vez en la petición o al completarlas. El valor es proporcional a la frecuencia con la que aparecen los símbolos (normalizado a la longitud del texto).
+ **Penaliza los tokens especiales**: reduce la probabilidad de que se repitan caracteres especiales. Los valores predeterminados son `true`.
  + **Espacios en blanco** (`applyToWhitespaces`): un valor `true` aplica la penalización a los espacios en blanco y a las líneas nuevas.
  + **Puntuaciones** (`applyToPunctuation`): un valor `true` aplica la penalización a la puntuación.
  + **Números** (`applyToNumbers`): un valor `true` aplica la penalización a los números.
  + **Palabras de parada** (`applyToStopwords`): un valor `true` aplica la penalización a las palabras de parada.
  + **Emojis** (`applyToEmojis`): un valor `true` excluye los emojis de la penalización.

### Campo del cuerpo de la solicitud de invocación del modelo
<a name="model-parameters-jurassic2-request-body"></a>

Cuando realice una llamada a [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) o a [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) 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`.

```
{
    "prompt": string,
    "temperature": float,
    "topP": float,
    "maxTokens": int,
    "stopSequences": [string],
    "countPenalty": {
        "scale": float
    },
    "presencePenalty": {
        "scale": float
    },
    "frequencyPenalty": {
        "scale": float
    }
}
```

Para penalizar los tokens especiales, agregue esos campos a cualquiera de los objetos de penalización. Por ejemplo, puede modificar el campo `countPenalty` de la siguiente manera.

```
"countPenalty": {
    "scale": float,
    "applyToWhitespaces": boolean,
    "applyToPunctuations": boolean,
    "applyToNumbers": boolean,
    "applyToStopwords": boolean,
    "applyToEmojis": boolean
}
```

La siguiente tabla muestra los valores mínimo, máximo y predeterminado de los parámetros numéricos.


****  


- **Asignación al azar y diversidad**
  - **Parámetro:** Temperatura / **Formato del objeto JSON.:** temperature / **Mínimo:** 0 / **Máximo:** 1 / **Predeterminado/a:** 0,5
  - **Parámetro:** Top P / **Formato del objeto JSON.:** topP / **Mínimo:** 0 / **Máximo:** 1 / **Predeterminado/a:** 0,5

- **Longitud**
  - **Parámetro:** Número máximo de tokens (modelos medianos, ultra y grandes) / **Mínimo:** 0 / **Máximo:** 8191 / **Predeterminado/a:** 200
  - **Parámetro:** Número máximo de tokens (otros modelos) / **Mínimo:** 0 / **Máximo:** 2048 / **Predeterminado/a:** 200
  - **Formato del objeto JSON.:** maxTokens

- **Repeticiones**
  - **Parámetro:** Penalización por presencia / **Formato del objeto JSON.:** presencePenalty / **Mínimo:** 0 / **Máximo:** 5 / **Predeterminado/a:** 0
  - **Parámetro:** Penalización por recuento / **Formato del objeto JSON.:** countPenalty / **Mínimo:** 0 / **Máximo:** 1 / **Predeterminado/a:** 0
  - **Parámetro:** Penalización por frecuencia / **Formato del objeto JSON.:** frequencyPenalty / **Mínimo:** 0 / **Máximo:** 500 / **Predeterminado/a:** 0



### Campo de cuerpo de respuesta a la invocación del modelo
<a name="model-parameters-jurassic2-response-body"></a>

Para obtener información sobre el formato del campo `body` de la respuesta, consulte [https://docs.ai21.com/reference/j2-complete-api-ref](https://docs.ai21.com/reference/j2-complete-api-ref).

**nota**  
Amazon Bedrock devuelve el identificador de respuesta (`id`) como valor entero.

## Ejemplo de código
<a name="api-inference-examples-a2i-jurassic"></a>

En este ejemplo se muestra cómo llamar al modelo *A2I AI21 Labs Jurassic-2 Mid*.

```
import boto3
import json

brt = boto3.client(service_name='bedrock-runtime')

body = json.dumps({
    "prompt": "Translate to spanish: 'Amazon Bedrock is the easiest way to build and scale generative AI applications with base models (FMs)'.", 
    "maxTokens": 200,
    "temperature": 0.5,
    "topP": 0.5
})

modelId = 'ai21.j2-mid-v1'
accept = 'application/json'
contentType = 'application/json'

response = brt.invoke_model(
    body=body, 
    modelId=modelId, 
    accept=accept, 
    contentType=contentType
)

response_body = json.loads(response.get('body').read())

# text
print(response_body.get('completions')[0].get('data').get('text'))
```