AI21 LabsModelli Jamba-Instruct - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AI21 LabsModelli Jamba-Instruct

Questa sezione fornisce i parametri di inferenza e un esempio di codice per l'utilizzo dei modelli. AI21 Jamba-Instruct

Campi obbligatori

Il modello Jamba-Instruct di AI21 Labs supporta i seguenti campi obbligatori:

  • Messaggi (messages): i messaggi precedenti di questa chat, dal più vecchio (indice 0) al più recente. Deve avere almeno un messaggio utente o assistente nell'elenco. Include sia gli input dell'utente che le risposte del sistema. La dimensione totale massima per l'elenco è di circa 256.000 token. Ogni messaggio include i seguenti membri:

  • Ruolo (role): il ruolo dell'autore del messaggio. Uno dei seguenti valori:

    • Utente (user): input fornito dall'utente. Tutte le istruzioni fornite qui che sono in conflitto con le istruzioni fornite nel system prompt hanno la precedenza sulle istruzioni del system prompt.

    • Assistant (assistant) — Risposta generata dal modello.

    • Sistema (system) — Istruzioni iniziali fornite al sistema per fornire indicazioni generali sul tono e sulla voce del messaggio generato. Un messaggio iniziale di sistema è facoltativo ma consigliato per fornire indicazioni sul tono della chat. Ad esempio, «Sei un chatbot utile con un background in scienze della terra e un affascinante accento francese».

  • Contenuto (content): il contenuto del messaggio.

Parametri di inferenza

Il modello Jamba-Instruct di AI21 Labs supporta i seguenti parametri di inferenza.

Casualità e diversità

Il modello Jamba-Instruct di AI21 Labs supporta i seguenti parametri per controllare la casualità e la diversità nella risposta.

  • Temperatura (temperature): quanta variazione fornire in ciascuna risposta. L'impostazione di questo valore su 0 garantisce sempre la stessa risposta alla stessa domanda. L'impostazione di un valore più alto incoraggia una maggiore variazione. Modifica la distribuzione da cui vengono campionati i token. Impostazione predefinita: 1.0, Intervallo: 0,0 — 2,0

  • Top P (top_p): limita il pool di token successivi in ogni passaggio al primo N percentile di token possibili, dove 1.0 indica il pool di tutti i token possibili e 0,01 indica il pool dei soli token successivi più probabili.

Lunghezza

Il modello Jamba Instruct di AI21 Labs supporta i seguenti parametri per controllare la lunghezza della risposta generata.

  • Lunghezza massima di completamento (max_tokens): il numero massimo di token consentiti per ogni messaggio di risposta generato. In genere il modo migliore per limitare la lunghezza dell'output consiste nell'inserire un limite di lunghezza nel prompt di sistema (ad esempio, «limita le risposte a tre frasi»). Impostazione predefinita: 4096, Intervallo: 0 — 4096.

  • Stop sequences (stop): termina il messaggio quando il modello genera una di queste stringhe. La sequenza di arresto non è inclusa nel messaggio generato. Ogni sequenza può avere una lunghezza massima di 64 KB e contenere nuove righe come\ n caratteri.

    Esempi:

    • Stringa di interruzioni singola con una parola e un punto: «scimmie».

    • Stringhe di stop multiple e una nuova riga: ["cat», «dog»,» . «, «####», "\n«]

  • Numero di risposte (n): quante risposte alla chat generare. Le note n devono essere pari a 1 per le risposte in streaming. Se n è impostato su un valore maggiore di 1, l'impostazione temperature=0 avrà sempre esito negativo perché è garantito che tutte le risposte siano duplicate. Impostazione predefinita: 1, Intervallo: 1 — 16

Ripetizioni

I modelli Jamba-Instruct di AI21 Labs supportano i seguenti parametri per controllare la ripetizione nella risposta generata.

  • Penalità di frequenza (frequency_penalty): riduci la frequenza delle parole ripetute all'interno di un singolo messaggio di risposta aumentando questo numero. Questa penalità aumenta gradualmente quanto più volte compare una parola durante la generazione della risposta. L'impostazione su 2.0 produrrà una stringa con poche parole ripetute, se non nessuna.

  • Penalità di presenza (presence_penalty): riduce la frequenza delle parole ripetute all'interno di un singolo messaggio aumentando questo numero. A differenza della penalità di frequenza, la penalità di presenza è la stessa indipendentemente dal numero di volte in cui appare una parola.

Campo del corpo della richiesta per l'invocazione del modello

Quando effettui una InvokeModelWithResponseStreamchiamata InvokeModelOR utilizzando un AI21 Labs modello, compila il body campo con un oggetto JSON conforme a quello riportato di seguito. Inserisci il prompt nel 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 del corpo della risposta per l'invocazione del modello

Per informazioni sul formato del body campo nella risposta, consulta https://docs.ai21.com/reference/ jamba-instruct-api #response -details.

esempio di codice

Questo esempio mostra come chiamare il modello Jamba-Instruct di 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))

conversare

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