

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Modèles AI21 Labs Jurassic-2
<a name="model-parameters-jurassic2"></a>

Cette section fournit les paramètres d’inférence et un exemple de code pour l’utilisation des modèles AI21 Labs AI21 Labs Jurassic-2.

**Topics**
+ [Paramètres d’inférence](#model-parameters-jurassic2-request-response)
+ [Exemple de code](#api-inference-examples-a2i-jurassic)

## Paramètres d’inférence
<a name="model-parameters-jurassic2-request-response"></a>

Les modèles AI21 Labs Jurassic-2 prennent en charge les paramètres d’inférence suivants.

**Topics**
+ [Caractère aléatoire et diversité](#model-parameters-jurassic2-random)
+ [Longueur](#model-parameters-jurassic2-length)
+ [Répétitions](#model-parameters-jurassic2-reps)
+ [Champ body de la demande d’invocation du modèle](#model-parameters-jurassic2-request-body)
+ [Champ body de la réponse à l’invocation du modèle](#model-parameters-jurassic2-response-body)

### Caractère aléatoire et diversité
<a name="model-parameters-jurassic2-random"></a>

Les modèles AI21 Labs Jurassic-2 prennent en charge les paramètres suivants pour contrôler le caractère aléatoire et la diversité de la réponse.
+ **Température** (`temperature`) : utilisez une valeur inférieure pour réduire le caractère aléatoire de la réponse.
+ **Top P** (`topP`) : utilisez une valeur inférieure pour ignorer les options les moins probables.

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

Les modèles AI21 Labs Jurassic-2 prennent en charge les paramètres suivants pour contrôler la longueur de la réponse générée.
+ **Longueur maximale de complétion** (`maxTokens`) : spécifiez le nombre maximum de jetons à utiliser dans la réponse générée.
+ **Séquences d’arrêt** (`stopSequences`) : configurez les séquences d’arrêt que le modèle reconnaît et après lesquelles il arrêtera de générer d’autres jetons. Appuyez sur la touche Entrée pour insérer un caractère de nouvelle ligne dans une séquence d’arrêt. Utilisez la touche de tabulation pour terminer l’insertion d’une séquence d’arrêt.

### Répétitions
<a name="model-parameters-jurassic2-reps"></a>

Les modèles AI21 Labs Jurassic-2 prennent en charge les paramètres suivants pour contrôler la répétition dans la réponse générée.
+ **Pénalité de présence** (`presencePenalty`) : utilisez une valeur élevée pour réduire la probabilité de la génération de nouveaux jetons qui apparaissent déjà au moins une fois dans l’invite ou dans la complétion.
+ **Pénalité de décompte** (`countPenalty`) : utilisez une valeur élevée pour réduire la probabilité de la génération de nouveaux jetons qui apparaissent déjà au moins une fois dans l’invite ou dans la complétion. Proportionnelle au nombre d’apparitions.
+ **Pénalité de fréquence** (`frequencyPenalty`) : utilisez une valeur élevée pour réduire la probabilité de la génération de nouveaux jetons qui apparaissent déjà au moins une fois dans l’invite ou dans la complétion. Cette valeur est proportionnelle à la fréquence d’apparition des jetons (normalisée en fonction de la longueur du texte).
+ **Pénaliser les jetons spéciaux** : réduisez la probabilité de la répétition de caractères spéciaux. Les valeurs par défaut sont `true`.
  + **Espaces blancs** (`applyToWhitespaces`) : une valeur `true` applique la pénalité aux espaces blancs et aux nouvelles lignes.
  + **Ponctuation** (`applyToPunctuation`) : une valeur `true` applique la pénalité à la ponctuation.
  + **Nombres** (`applyToNumbers`) : une valeur `true` applique la pénalité aux nombres.
  + **Mots vides** (`applyToStopwords`) : une valeur `true` applique la pénalité aux mots vides.
  + **Emojis** (`applyToEmojis`) : une valeur `true` exclut les emojis de la pénalité.

### Champ body de la demande d’invocation du modèle
<a name="model-parameters-jurassic2-request-body"></a>

Lorsque vous effectuez un appel [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) ou [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) à l’aide d’un modèle AI21 Labs, remplissez le champ `body` avec un objet JSON conforme à celui ci-dessous. Entrez l'invite dans le champ `prompt`.

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

Pour pénaliser des jetons spéciaux, ajoutez ces champs à n’importe quel objet de pénalité. Par exemple, vous pouvez modifier le champ `countPenalty` comme suit.

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

Le tableau suivant indique les valeurs minimales, maximales et par défaut des paramètres numériques.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/model-parameters-jurassic2.html)

### Champ body de la réponse à l’invocation du modèle
<a name="model-parameters-jurassic2-response-body"></a>

Pour plus d'informations sur le format du champ `body` dans la réponse, consultez [https://docs.ai21.com/reference/j2-complete-api-ref](https://docs.ai21.com/reference/j2-complete-api-ref).

**Note**  
Amazon Bedrock renvoie l’identifiant de réponse (`id`) sous forme de valeur entière.

## Exemple de code
<a name="api-inference-examples-a2i-jurassic"></a>

Cet exemple montre comment appeler le modèle *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'))
```