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à.
Modelli AI21 Labs Jamba
Questa sezione fornisce parametri di inferenza e un esempio di codice per l’utilizzo dei modelli Jamba di AI21 Labs.
Argomenti
Campi obbligatori
I modelli Jamba di AI21 Labs supportano i seguenti campi obbligatori:
-
Messaggi (
messages): i messaggi precedenti di questa chat, dal meno recente (indice 0) al più recente. Deve avere almeno un messaggio di un utente o un 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. Ciascun 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 quelle fornite nel promptsystemhanno precedenza sulle istruzioni del promptsystem. -
Assistente (
assistant): risposta generata dal modello. -
Sistema (
system): istruzioni iniziali fornite al sistema per indicazioni generali sul tono e sulla voce del messaggio generato. Un messaggio di sistema iniziale è 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): contenuto del messaggio.
Parametri di inferenza
I modelli Jamba di AI21 Labs supportano i seguenti parametri di inferenza.
Casualità e diversità
I modelli Jamba di AI21 Labs supportano i seguenti parametri per controllare la casualità e la diversità nella risposta.
-
Temperatura (
temperature): quantità di variazione da 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 fase 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
I modelli Lambda di AI21 Labs supportano i seguenti parametri per controllare la lunghezza della risposta generata.
-
Lunghezza massima di completamento (
max_tokens): 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: 4.096, intervallo: 0 - 4.096. -
Sequenze di arresto (
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 caratteri \n.Esempi:
-
Singola stringa di arresto con una parola e un punto: “scimmie.”
-
Stringhe di arresto multiple e una nuova riga: ["gatto", "cane", " .", "####", "\n"]
-
-
Numero di risposte (
n): numero di risposte della chat da generare. Note: n deve essere 1 per le risposte in streaming. Se n è impostato su un valore maggiore di 1, l’impostazione ditemperature=0ha sempre esito negativo perché tutte le risposte saranno garantite come duplicati. Impostazione predefinita: 1, intervallo: 1-16
Ripetizioni
I modelli Jamba di AI21 Labs supportano i seguenti parametri per controllare le ripetizioni nella risposta generata.
-
Penalità di frequenza (
frequency_penalty): riduce la frequenza delle parole ripetute all’interno di un singolo messaggio di risposta aumentando questo numero. Tale penalità aumenta gradualmente quanto più spesso compare una parola durante la generazione della risposta. L’impostazione su 2.0 produce una stringa con poche parole ripetute, se non addirittura 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 esegui una chiamata InvokeModel o InvokeModelWithResponseStream utilizzando un modello AI21 Labs, inserisci nel campo body un oggetto JSON conforme a quello seguente. 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 campo body nella risposta, consulta https://docs.ai21.com/reference/jamba-instruct-api#response-details
esempio di codice
Questo esempio mostra come chiamare il modello AI21 Labs Jamba-Instruct.
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))
Esempio di codice per Jamba 1.5 Large
Questo esempio mostra come chiamare il modello AI21 Labs 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 }