Questa pagina mostra come inviare prompt di chat a un modello Gemini utilizzando la console Google Cloud, l'API REST e gli SDK supportati.
Per scoprire come aggiungere immagini e altri contenuti multimediali alla tua richiesta, consulta Comprensione delle immagini.
Per un elenco delle lingue supportate da Gemini, consulta Supporto delle lingue.
Per esplorare i modelli e le API di IA generativa disponibili su Vertex AI, vai a Model Garden nella console Google Cloud.
Se stai cercando un modo per utilizzare Gemini direttamente dalle tue app web e mobile, consulta la sezione Vertex AI negli SDK Firebase per le app Android, Swift, web e Flutter.
Per testare e eseguire l'iterazione sui prompt della chat, consigliamo di utilizzare la console Google Cloud. Per inviare prompt al modello in modo programmatico, puoi utilizzare l'API REST, l'SDK Vertex AI per Python o una delle altre librerie e degli altri SDK supportati mostrati nelle seguenti schede.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI SDK for Python.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming o non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo la generazione di tutti i token di output.
Per una risposta dinamica, utilizza il parametro stream
in
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Per una risposta non in streaming, rimuovi il parametro o impostalo su
False
.
Codice di esempio
C#
Prima di provare questo esempio, segui le istruzioni di configurazione di C# nella guida rapida di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento C# di Vertex AI.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, vedi Configurare l'ADC per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming o non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo la generazione di tutti i token di output.
Per una risposta dinamica, utilizza il metodo
StreamGenerateContent
.
public virtual PredictionServiceClient.StreamGenerateContentStream StreamGenerateContent(GenerateContentRequest request)
Per una risposta non in streaming, utilizza il metodo
GenerateContentAsync
.
public virtual Task<GenerateContentResponse> GenerateContentAsync(GenerateContentRequest request)
Per ulteriori informazioni su come il server può trasmettere le risposte, consulta RPC dinamiche.
Codice di esempio
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida sull'IA generativa con l'SDK Node.js. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Node.js per Gemini.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, vedi Configurare l'ADC per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming o non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo la generazione di tutti i token di output.
Per una risposta dinamica, utilizza il metodo
generateContentStream
.
const streamingResp = await generativeModel.generateContentStream(request);
Per una risposta non in streaming, utilizza il metodo
generateContent
.
const streamingResp = await generativeModel.generateContent(request);
Codice di esempio
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Java Vertex AI per Gemini.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, vedi Configurare l'ADC per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming o non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo la generazione di tutti i token di output.
Per una risposta dinamica, utilizza il metodo
generateContentStream
.
public ResponseStream<GenerateContentResponse> generateContentStream(Content content)
Per una risposta non in streaming, utilizza il metodo
generateContent
.
public GenerateContentResponse generateContent(Content content)
Codice di esempio
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida introduttiva di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Go di Vertex AI per Gemini.
Per autenticarti a Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, vedi Configurare l'ADC per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming o non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo la generazione di tutti i token di output.
Per una risposta dinamica, utilizza il metodo
GenerateContentStream
.
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
Per una risposta non in streaming, utilizza il metodo GenerateContent
.
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
Codice di esempio
REST
Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt di testo. Il seguente esempio invia una richiesta all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
GENERATE_RESPONSE_METHOD
: il tipo di risposta che vuoi che il modello generi. Scegli un metodo che generi la modalità di restituzione della risposta del modello:streamGenerateContent
: la risposta viene trasmessa in streaming durante la generazione per ridurre la percezione della latenza da parte di un pubblico di persone.generateContent
: la risposta viene restituita dopo essere stata completamente generata.
LOCATION
: la regione in cui elaborare la richiesta. Le opzioni disponibili includono:Fai clic per espandere un elenco parziale delle regioni disponibili
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
PROJECT_ID
: il tuo ID progetto.MODEL_ID
: l'ID del modello multimodale che vuoi utilizzare. Ecco alcune opzioni:gemini-1.0-pro-002
gemini-1.0-pro-vision-001
gemini-1.5-pro-002
gemini-1.5-flash
Le istruzioni di testo da includere nel primo prompt della conversazione multi-turno. Ad esempio,TEXT1
What are all the colors in a rainbow?
Le istruzioni di testo da includere nel secondo prompt. Ad esempio,TEXT2
Why does it appear when it rains?
TEMPERATURE
: la temperatura viene utilizzata per il campionamento durante la generazione della risposta, 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 risposte meno aperte o creative, mentre le temperature più alte possono portare a risultati più diversificati o creativi. Con una temperatura pari a0
viene sempre selezionato il token con la probabilità più alta. In questo caso, le risposte per un determinato prompt 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.
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
cat > request.json << 'EOF' { "contents": [ { "role": "user", "parts": { "text": "TEXT1" } }, { "role": "model", "parts": { "text": "What a great question!" } }, { "role": "user", "parts": { "text": "TEXT2" } } ], "generation_config": { "temperature": TEMPERATURE } } EOF
Quindi, esegui il seguente comando per inviare la richiesta REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
@' { "contents": [ { "role": "user", "parts": { "text": "TEXT1" } }, { "role": "model", "parts": { "text": "What a great question!" } }, { "role": "user", "parts": { "text": "TEXT2" } } ], "generation_config": { "temperature": TEMPERATURE } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui il seguente comando per inviare la richiesta REST:
$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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente.
Tieni presente quanto segue nell'URL di questo esempio:- Utilizza il metodo
generateContent
per richiedere che la risposta venga restituita dopo essere stata completamente generata. Per ridurre la percezione della latenza da parte di un pubblico di persone, riproduci in streaming la risposta man mano che viene generata utilizzando il metodostreamGenerateContent
. - L'ID del modello multimodale si trova alla fine dell'URL prima del metodo
(ad esempio
gemini-1.5-flash
ogemini-1.0-pro-vision
). Questo sample potrebbe supportare anche altri modelli.
Console
Per utilizzare Vertex AI Studio per inviare 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.
- In Avvia una conversazione, fai clic su Chat di testo.
(Facoltativo) Configura il modello e i parametri:
- Modello: seleziona Gemini Pro.
- Regione: seleziona la regione che vuoi utilizzare.
Temperatura: utilizza 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 della risposta, 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 risposte meno aperte o creative, mentre le temperature più alte possono portare a risultati più diversificati o creativi. Con una temperatura pari a0
viene sempre selezionato il token con la probabilità più alta. In questo caso, le risposte per un determinato prompt 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 di output: 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.
- Aggiungi sequenza di interruzioni: facoltativo. Inserisci una sequenza di interruzioni, ovvero una serie di caratteri che include spazi. Se il modello rileva una sequenza di interruzioni, la generazione di risposte viene interrotta. La sequenza di interruzioni non è inclusa nella risposta e puoi aggiungerne fino a cinque.
- (Facoltativo) Per configurare i parametri avanzati, fai clic su Avanzate e configura come segue:
Fai clic per espandere le configurazioni avanzate
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 pari a1
indica che il token successivo selezionato è il più probabile tra tutti i token nel vocabolario del modello (chiamato anche decodifica greedy). Un top-K pari a3
indica invece 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: utilizza il dispositivo di scorrimento o la casella di testo per inserire un valore per il 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 ridurre al minimo la variabilità dei risultati,
imposta Top-P su
0
. - Attiva l'isolamento: aggiungi un'origine di isolamento e un percorso per personalizzare questa funzionalità.
- Inserisci il prompt di testo nel riquadro Prompt. Il modello utilizza i messaggi precedenti come contesto per le nuove risposte.
- (Facoltativo) Per visualizzare il numero di token di testo, fai clic su Visualizza token. Puoi visualizzare i token o gli ID token del prompt di testo.
- Per visualizzare i token nel prompt di testo evidenziati con colori diversi che contrassegnano il confine di ciascun ID token, fai clic su ID token in testo. I token multimediali non sono supportati.
- Per visualizzare gli ID token, fai clic su ID token.
Per chiudere il riquadro dello strumento di tokenizzazione, fai clic sulla X o al di fuori del riquadro.
- Fai clic su Invia.
- (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 Genera codice.
- (Facoltativo) Per cancellare tutti i messaggi precedenti, fai clic su Cancella conversazione
Puoi utilizzare le istruzioni di sistema per indirizzare il comportamento del modello in base a un bisogno o a un caso d'uso specifico. Ad esempio, puoi definire una persona o un ruolo per un chatbot che risponde alle richieste dell'assistenza clienti. Per ulteriori informazioni, consulta gli esempi di codice delle istruzioni di sistema.
Passaggi successivi
Scopri come inviare richieste di prompt multimodali:
Scopri le best practice per l'AI responsabile e i filtri di sicurezza di Vertex AI.