Vertex AI consente di usare Vertex AI Studio per testare i prompt nella console Google Cloud, nell'API Vertex AI e nell'SDK Vertex AI per Python. Questa pagina mostra come testare le richieste di chat utilizzando una di queste interfacce.
Per scoprire di più su come progettare prompt di chat, consulta Prompt di chat.
Testare le richieste di chat
Per testare i prompt di chat, scegli uno dei seguenti metodi.
REST
Per testare un prompt di testo utilizzando l'API Vertex AI, invia una richiesta POST all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- CONTEXT: facoltativo. Il contesto può essere le istruzioni fornite al modello su come dovrebbe rispondere o le informazioni che utilizza o fa riferimento per generare una risposta. Aggiungi informazioni contestuali nel prompt quando devi fornire informazioni al modello o limita i limiti delle risposte solo al contenuto del contesto.
- Esempi facoltativi: gli esempi sono un elenco di messaggi strutturati al modello per imparare a rispondere alla conversazione.
- EXAMPLE_INPUT: esempio di un messaggio.
- EXAMPLE_OUTPUT: esempio di risposta ideale.
- Messaggi: cronologia delle conversazioni fornita al modello in un modulo strutturato di autore alternativo. I messaggi vengono visualizzati in ordine cronologico: dal meno recente, dal più recente all'ultimo. Quando la cronologia dei messaggi fa sì che l'input superi la lunghezza massima, i messaggi meno recenti vengono rimossi finché l'intero prompt non rientra nel limite consentito. Deve essere presente un numero dispari di messaggi (coppie AUTHOR-CONTENT) affinché il modello possa generare una risposta.
- AUTHOR: l'autore del messaggio.
- CONTENT: i contenuti del messaggio.
- TEMPERATURE:
la temperatura viene utilizzata per il campionamento durante la generazione delle risposte, che si verifica quando vengono applicati
topP
etopK
. La temperatura controlla il grado di casualità nella selezione dei token. Le temperature più basse sono ideali per prompt che richiedono una risposta meno creativa o meno aperta, mentre le temperature più alte possono portare a risultati più diversificati o creativi. Una temperatura pari a0
significa che vengono sempre selezionati i token con la probabilità più alta. In questo caso, le risposte per un determinato messaggio sono per lo più deterministiche, ma è comunque possibile una piccola variazione.Se il modello restituisce una risposta troppo generica, troppo breve o fornisce una risposta di riserva, prova ad aumentare la temperatura.
- MAX_OUTPUT_TOKENS: numero massimo di token che è possibile generare nella risposta. Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole.
Specifica un valore più basso per risposte più brevi e un valore più alto per risposte potenzialmente più lunghe.
- TOP_P:
Top-P cambia il modo in cui il modello seleziona i token per l'output. I token vengono selezionati dal più probabile (vedi top-K) al meno probabile finché la somma delle loro probabilità equivale al valore top-P. Ad esempio, se i token A, B e C hanno una probabilità di
0,3, 0,2 e 0,1 e il valore di top-P è
0.5
, il modello selezionerà A o B come token successivo utilizzando la temperatura ed esclude C come candidato.Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali.
- TOP_K:
Top-K cambia il modo in cui il modello seleziona i token per l'output. Un top-K pari a
1
indica che il token successivo selezionato è il più probabile tra tutti i token nel vocabolario del modello (detta anche decodifica greedy), mentre un top-K pari a3
indica che il token successivo viene selezionato tra i tre token più probabili utilizzando la temperatura.Per ogni fase di selezione dei token, vengono campionati i token top-K con le probabilità più elevate. Quindi, i token vengono ulteriormente filtrati in base a top-P e il token finale viene selezionato utilizzando il campionamento con temperatura.
Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali.
Metodo HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/chat-bison:predict
Corpo JSON della richiesta:
{ "instances": [{ "context": "CONTEXT", "examples": [ { "input": {"content": "EXAMPLE_INPUT"}, "output": {"content": "EXAMPLE_OUTPUT"} }], "messages": [ { "author": "AUTHOR", "content": "CONTENT", }], }], "parameters": { "temperature": TEMPERATURE, "maxOutputTokens": MAX_OUTPUT_TOKENS, "topP": TOP_P, "topK": TOP_K } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/chat-bison:predict"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/chat-bison:predict" | Select-Object -Expand Content
Dovresti ricevere una risposta in formato JSON simile alla seguente.
Comando curl di esempio
MODEL_ID="chat-bison"
PROJECT_ID=PROJECT_ID
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/us-central1/publishers/google/models/${MODEL_ID}:predict -d \
'{
"instances": [{
"context": "My name is Ned. You are my personal assistant. My favorite movies are Lord of the Rings and Hobbit.",
"examples": [ {
"input": {"content": "Who do you work for?"},
"output": {"content": "I work for Ned."}
},
{
"input": {"content": "What do I like?"},
"output": {"content": "Ned likes watching movies."}
}],
"messages": [
{
"author": "user",
"content": "Are my favorite movies based on a book series?",
},
{
"author": "bot",
"content": "Yes, your favorite movies, The Lord of the Rings and The Hobbit, are based on book series by J.R.R. Tolkien.",
},
{
"author": "user",
"content": "When were these books published?",
}],
}],
"parameters": {
"temperature": 0.3,
"maxOutputTokens": 200,
"topP": 0.8,
"topK": 40
}
}'
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Prima di provare questo esempio, segui le istruzioni di configurazione di C# riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Console
Per utilizzare Vertex AI Studio per testare un prompt di chat nella console Google Cloud, segui questi passaggi:
- Nella sezione Vertex AI della console Google Cloud, vai alla pagina Vertex AI Studio.
- Fai clic sulla scheda Inizia.
- Fai clic su Chat di testo.
Configura la richiesta come segue:
- Contesto: inserisci le istruzioni per l'attività che vuoi che il modello esegua e includi eventuali informazioni contestuali a cui il modello possa fare riferimento.
- Esempi: per i prompt few-shot, aggiungi esempi di input-output che mostrano i modelli di comportamento che il modello imita.
Configura il modello e i parametri:
- Modello: seleziona il modello che vuoi utilizzare.
Temperatura: usa il dispositivo di scorrimento o la casella di testo per inserire un valore per la temperatura.
La temperatura viene utilizzata per il campionamento durante la generazione delle risposte, che si verifica quando vengono applicatitopP
etopK
. La temperatura controlla il grado di casualità nella selezione dei token. Le temperature più basse sono ideali per prompt che richiedono una risposta meno creativa o meno aperta, mentre le temperature più alte possono portare a risultati più diversificati o creativi. Una temperatura pari a0
significa che vengono sempre selezionati i token con la probabilità più alta. In questo caso, le risposte per un determinato messaggio sono per lo più deterministiche, ma è comunque possibile una piccola variazione.Se il modello restituisce una risposta troppo generica, troppo breve o fornisce una risposta di riserva, prova ad aumentare la temperatura.
Limite di token: utilizza il dispositivo di scorrimento o la casella di testo per inserire un valore per il limite massimo di output.
Numero massimo di token che possono essere generati nella risposta. Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole.Specifica un valore più basso per risposte più brevi e un valore più alto per risposte potenzialmente più lunghe.
Top-K: usa il dispositivo di scorrimento o la casella di testo per inserire un valore per top-K.
Top-K cambia il modo in cui il modello seleziona i token per l'output. Un top-K pari a1
indica che il token successivo selezionato è il più probabile tra tutti i token nel vocabolario del modello (detta anche decodifica greedy), mentre un top-K pari a3
indica che il token successivo viene selezionato tra i tre token più probabili utilizzando la temperatura.Per ogni fase di selezione dei token, vengono campionati i token top-K con le probabilità più elevate. Quindi, i token vengono ulteriormente filtrati in base a top-P e il token finale viene selezionato utilizzando il campionamento con temperatura.
Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali.
- Top-P: usa il dispositivo di scorrimento o la casella di testo per inserire un valore per top-P.
I token vengono selezionati dal più probabile al meno probabile, finché la somma delle loro probabilità non corrisponde al valore di top-P. Per i risultati meno variabili, imposta top-P su
0
.
- Inserisci un messaggio nella casella del messaggio per avviare una conversazione con il chatbot. Il chatbot utilizza i messaggi precedenti come contesto per le nuove risposte.
- (Facoltativo) Per salvare il prompt in I miei prompt, fai clic su Salva.
- (Facoltativo) Per ottenere il codice Python o un comando curl per il prompt, fai clic su Visualizza codice.
- (Facoltativo) Per cancellare tutti i messaggi precedenti, fai clic su Cancella conversazione
Riproduci in streaming la risposta dal modello di chat
Per visualizzare richieste di codice e risposte di esempio utilizzando l'API REST, consulta Esempi di utilizzo dell'API REST.
Per visualizzare richieste di codice e risposte di esempio utilizzando l'SDK Vertex AI per Python, consulta Esempi di utilizzo dell'SDK Vertex AI per Python.
Passaggi successivi
- Scopri come ottimizzare un modello di base.
- Scopri le best practice per l'IA responsabile e i filtri di sicurezza di Vertex AI.