AI21 LabsModèles Jamba-Instruct - Amazon Bedrock

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.

AI21 LabsModèles Jamba-Instruct

Cette section fournit des paramètres d'inférence et un exemple de code pour l'utilisation de AI21 Jamba-Instruct modèles.

Champs obligatoires

Le modèle Jamba-Instruct d'AI21 Labs prend en charge les champs obligatoires suivants :

  • Messages (messages) — Les messages précédents de cette discussion, du plus ancien (index 0) au plus récent. La liste doit contenir au moins un message d'utilisateur ou d'assistant. Incluez à la fois les entrées de l'utilisateur et les réponses du système. La taille totale maximale de la liste est d'environ 256 000 jetons. Chaque message inclut les membres suivants :

  • Rôle (role) : rôle de l'auteur du message. L'une des valeurs suivantes :

    • User (user) — Entrée fournie par l'utilisateur. Toutes les instructions données ici qui sont en conflit avec les instructions données dans l'systeminvite ont priorité sur les instructions de l'systeminvite.

    • Assistant (assistant) : réponse générée par le modèle.

    • Système (system) : instructions initiales fournies au système pour fournir des indications générales sur le ton et la voix du message généré. Un message système initial est facultatif, mais recommandé pour indiquer le ton du chat. Par exemple, « Vous êtes un chatbot utile avec une formation en sciences de la Terre et un charmant accent français. »

  • Content (content) — Le contenu du message.

Paramètres d’inférence

Le modèle Jamba-Instruct d'AI21 Labs prend en charge les paramètres d'inférence suivants.

Caractère aléatoire et diversité

Le modèle Jamba-Instruct d'AI21 Labs prend en charge les paramètres suivants pour contrôler le caractère aléatoire et la diversité de la réponse.

  • Température (temperature) — Le degré de variation à fournir dans chaque réponse. La définition de cette valeur sur 0 garantit la même réponse à la même question à chaque fois. La définition d'une valeur plus élevée favorise une plus grande variation. Modifie la distribution à partir de laquelle les jetons sont échantillonnés. Par défaut : 1.0, plage : 0.0 — 2.0

  • Top P (top_p) — Limitez le pool de jetons suivants à chaque étape au premier percentile N des jetons possibles, où 1,0 signifie le pool de tous les jetons possibles et 0,01 signifie le pool des jetons suivants les plus probables.

Longueur

Le modèle Jamba Instruct d'AI21 Labs prend en charge les paramètres suivants pour contrôler la longueur de la réponse générée.

  • Durée maximale d'exécution (max_tokens) : nombre maximal de jetons autorisés pour chaque message de réponse généré. Généralement, le meilleur moyen de limiter la longueur de sortie est de fournir une limite de longueur dans l'invite du système (par exemple, « limitez vos réponses à trois phrases »). Par défaut : 4096, plage : 0 — 4096.

  • Stop sequences (stop) — Termine le message lorsque le modèle génère l'une de ces chaînes. La séquence d'arrêt n'est pas incluse dans le message généré. Chaque séquence peut avoir une longueur maximale de 64 Ko et peut contenir des nouvelles lignes sous la forme de \ n caractères.

    Exemples :

    • Chaîne à point unique avec un mot et un point : « singes ».

    • Plusieurs chaînes d'arrêt et une nouvelle ligne : ["cat », « dog », » . «, « #### », "\n«]

  • Nombre de réponses (n) : nombre de réponses au chat à générer. Les notes n doivent être égales à 1 pour les réponses diffusées en continu. Si n est supérieur à 1, le réglage temperature=0 échouera toujours car il est garanti que toutes les réponses seront des doublons. Par défaut : 1, plage : 1 — 16

Répétitions

Les modèles Jamba-Instruct d'AI21 Labs prennent en charge les paramètres suivants pour contrôler la répétition de la réponse générée.

  • Pénalité de fréquence (frequency_penalty) — Réduisez la fréquence des mots répétés dans un message de réponse unique en augmentant ce nombre. Cette pénalité augmente progressivement au fur et à mesure qu'un mot apparaît lors de la génération de la réponse. Le réglage sur 2.0 produira une chaîne contenant peu ou pas de mots répétés.

  • Pénalité de présence (presence_penalty) — Réduisez la fréquence des mots répétés dans un même message en augmentant ce nombre. Contrairement à la pénalité de fréquence, la pénalité de présence est la même quel que soit le nombre de fois qu'un mot apparaît.

Champ body de la demande d’invocation du modèle

Lorsque vous effectuez un InvokeModelWithResponseStreamappel InvokeModelou à l'aide d'un AI21 Labs modèle, remplissez le body champ avec un objet JSON conforme à celui ci-dessous. Entrez l'invite dans le champ 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 }

Champ body de la réponse à l’invocation du modèle

Pour plus d'informations sur le format du body champ dans la réponse, consultez https://docs.ai21.com/reference/ jamba-instruct-api #response -details.

Exemple de code

Cet exemple montre comment appeler le modèle Jamba-Instruct d'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))

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