Vertex AI ti consente di utilizzare Vertex AI Studio per testare i prompt nella console Google Cloud, nell'API Vertex AI e nell'SDK Vertex AI per Python. Questa pagina ti mostra come testare i prompt di chat utilizzando una di queste interfacce.
Per scoprire di più su come progettare prompt di chat, consulta Prompt di Chat.
Testare i prompt 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, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- CONTEXT: facoltativo. Il contesto può essere costituito da istruzioni che fornisci al modello su come deve rispondere o da informazioni che utilizza o a cui fa riferimento per generare una risposta. Aggiungi informazioni contestuali nel prompt quando devi fornire informazioni al modello o limitare i confini delle risposte solo a ciò che è all'interno del contesto.
- Esempi facoltativi: gli esempi sono un elenco di messaggi strutturati in modo che il modello capisca come rispondere alla conversazione.
- EXAMPLE_INPUT: esempio di messaggio.
- EXAMPLE_OUTPUT: esempio di risposta ideale.
- Messaggi: la cronologia delle conversazioni fornita al modello in un formato strutturato con autore alternativo. I messaggi vengono visualizzati in ordine cronologico: prima i più vecchi, poi i più recenti. 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. Affinché il modello generi una risposta, deve esserci un numero dispari di messaggi (coppie AUTORE-CONtenuto).
- AUTHOR: l'autore del messaggio.
- CONTENT: i contenuti del messaggio.
- TEMPERATURE:
La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che si verifica quando
topP
etopK
. La temperatura controlla il grado di casualità nella selezione dei token. Le temperature basse sono ideali per prompt che richiedono risposte meno aperte o creative, mentre le temperature più alte possono portare a risultati più diversificati o creativi. Una temperatura di0
significa che vengono sempre selezionati i token con la probabilità più alta. In questo caso, le risposte per un determinato sono per lo più deterministici, ma è ancora 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 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_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à non corrisponde al valore di 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 seleziona 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 di
1
significa che il successivo token selezionato è il più probabile tra tutti nel vocabolario del modello (chiamato anche decodifica greedy), mentre una top-K di3
significa che il token successivo viene selezionato tra i tre probabili token 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 con il token finale selezionato utilizzando il campionamento della temperatura.
Specifica un valore più basso per risposte meno casuali e un valore più alto per più risposte risposte 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:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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
,
quindi esegui il comando seguente:
$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 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, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta documentazione di riferimento dell'API Python.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione Java riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Vertex AI.
Per autenticarti 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 per la configurazione di C# nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C# di Vertex AI.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Console
Per utilizzare Vertex AI Studio per testare un prompt di chat nella Nella console Google Cloud, segui questi passaggi:
- Nella sezione Vertex AI della console Google Cloud, vai a la 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 venga eseguita dal modello e includi eventuali informazioni contestuali a cui il modello deve fare riferimento.
- Esempi: per i prompt few-shot, aggiungi esempi di input-output che modelli comportamentali da imitare.
Configura il modello e i parametri:
- Modello: seleziona il modello che vuoi utilizzare.
Temperatura: utilizza il cursore o la casella di testo per inserire un valore per la temperatura dell'acqua.
La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che si verifica quandotopP
etopK
. La temperatura controlla il grado di casualità nella selezione dei token. Le temperature basse sono ideali per prompt che richiedono risposte meno aperte o creative, 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 sono per lo più deterministici, ma è ancora 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 cursore o la casella di testo per inserire un valore per il limite di output massimo.
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 diverse.
Top-K: utilizza il dispositivo di scorrimento o la casella di testo per inserire un valore per il top-K.
Top-K cambia il modo in cui il modello seleziona i token per l'output. Un top-K di1
significa che il successivo token selezionato è il più probabile tra tutti nel vocabolario del modello (chiamato anche decodifica greedy), mentre una top-K di3
significa che il token successivo viene selezionato tra i tre probabili token utilizzando la temperatura.Per ogni passaggio di selezione dei token, vengono mostrati i token top-K con il vengono campionate. Quindi i token vengono ulteriormente filtrati in base a top-p con il token finale selezionato utilizzando il campionamento della temperatura.
Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali.
- Top-P: utilizza il cursore o la casella di testo per inserire un valore per top-P.
I token vengono selezionati dal più probabile al meno probabile fino alla somma dei loro
le probabilità equivalgono al valore di top-P. Per ottenere 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 tuo prompt, fai clic su Visualizza codice.
- (Facoltativo) Per cancellare tutti i messaggi precedenti, fai clic su Cancella conversazione
Streaming della risposta dal modello di chat
Per visualizzare richieste e risposte di codice di esempio che utilizzano 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 di più sulle best practice per l'IA responsabile e sui filtri di sicurezza di Vertex AI.