Utilizza l'API Inference per generare prompt Gemini.
La famiglia di modelli Gemini include modelli che funzionano con richieste di prompt multimodali. Il termine multimodale indica che puoi usare più di una modalità, o tipo di input, in un prompt. I modelli che non sono multimodali accettano richieste solo con testo. Le modalità possono includere testo, audio, video e altro ancora.
Per ulteriori informazioni di panoramica, vedi:
Modelli supportati:
Modello | Versione |
---|---|
Gemini 1.5 Flash | gemini-1.5-flash-001 |
Gemini 1.5 Pro | gemini-1.5-pro-001 |
Gemini 1.0 Pro Vision | gemini-1.0-pro-001 gemini-1.0-pro-vision-001 |
Gemini 1.0 Pro | gemini-1.0-pro gemini-1.0-pro-001 gemini-1.0-pro-002 |
Limitazioni:
Se fornisci molte immagini, la latenza potrebbe essere elevata.
Sintassi di esempio
Sintassi per generare una risposta del modello.
Non in streaming
arricciatura
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [{ ... }], "generation_config": { ... }, "safety_settings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) generation_config = GenerationConfig(...) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...})
Buffer dei
arricciatura
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:streamGenerateContent \ -d '{ "contents": [{ ... }], "generation_config": { ... }, "safety_settings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...}, stream=True)
Elenco parametri
Consulta gli esempi per i dettagli di implementazione.
Corpo della richiesta
Il corpo della richiesta contiene dati con i seguenti parametri:
Parametri | |
---|---|
|
Obbligatorio: I contenuti della conversazione corrente con il modello. Per le query a turno singolo, si tratta di una singola istanza. Per le query in più passaggi, si tratta di un campo ripetuto contenente la cronologia della conversazione e l'ultima richiesta. |
|
Facoltativo: L'utente ha fornito le istruzioni di sistema per il modello. Nota: in |
|
Facoltativo. Vedi API Function Calling. |
|
Facoltativo. Vedi API Function Calling. |
|
Facoltativo: Impostazioni In base alla richiesta per il blocco di contenuti non sicuri. Data applicazione: |
|
Facoltativo: Impostazioni di configurazione di generazione. |
Contenuti
Il tipo di dati strutturati di base con contenuti in più parti di un messaggio.
Questa classe è costituita da due proprietà principali: role
e parts
. La proprietà role
indica la persona che produce i contenuti, mentre la proprietà parts
contiene più elementi, ognuno dei quali rappresenta un segmento di dati all'interno
di un messaggio.
Parametri | |
---|---|
|
Facoltativo: L'identità dell'entità che crea il messaggio. Sono supportati i seguenti valori:
Il valore Per le conversazioni a più turni, questo campo può essere lasciato vuoto o non impostato. |
|
Un elenco di parti ordinate che compongono un singolo messaggio. Parti diverse possono avere tipi MIME IANA diversi. |
Parte
Un tipo di dati contenente contenuti multimediali all'interno di un messaggio Content
in più parti.
Parametri | |
---|---|
|
Facoltativo: Un prompt di testo o uno snippet di codice. |
|
Facoltativo: Dati in linea in byte non elaborati. |
|
Facoltativo: Dati archiviati in un file. |
|
Facoltativo: Contiene una stringa che rappresenta il campo Vedi API Function Calling. |
|
Facoltativo: L'output risultato di un Vedi API Function Calling. |
|
Facoltativo: Metadati del video. I metadati devono essere specificati solo quando i dati del video sono presentati in |
Blob
BLOB di contenuti. Se possibile, invia come testo anziché byte non elaborati.
Parametri | |
---|---|
|
Tipo MIME IANA dei dati. |
|
Byte non elaborati. |
FileData
Dati basati su URI.
Parametri | |
---|---|
mime_type |
Tipo MIME IANA dei dati. |
file_uri |
string L'URI Cloud Storage del file in cui sono archiviati i dati |
FunctionCall
Un valore FunctionCall
previsto restituito dal modello contenente una stringa che rappresenta l'elemento FunctionDeclaration.name
e un oggetto JSON strutturato contenente i parametri e i relativi valori.
Parametri | |
---|---|
|
Il nome della funzione da chiamare. |
|
I parametri e i valori delle funzioni nel formato oggetto JSON. Per i dettagli dei parametri, consulta API Function Calling. |
FunctionResponse
L'output risultante da un elemento FunctionCall
che contiene una stringa che rappresenta FunctionDeclaration.name
. Contiene anche un oggetto JSON strutturato con l'output della funzione (e lo utilizza come contesto per il modello). Questo dovrebbe contenere il risultato di un FunctionCall
creato in base alla previsione del modello.
Parametri | |
---|---|
|
Il nome della funzione da chiamare. |
|
La risposta della funzione in formato di oggetto JSON. |
VideoMetadata
Metadati che descrivono i contenuti video di input.
Parametri | |
---|---|
|
Facoltativo: L'offset iniziale del video. |
|
Facoltativo: L'offset finale del video. |
SafetySetting
Impostazioni di sicurezza.
Parametri | |
---|---|
|
Facoltativo: La categoria del danno. |
|
Facoltativo: La soglia del blocco dei danni. |
|
Facoltativo: Il numero massimo di termini influenti che contribuiscono maggiormente ai punteggi di sicurezza e che potrebbero causare un blocco. |
|
Facoltativo: Specifica se la soglia viene utilizzata per il punteggio di probabilità o gravità. Se non specificata, la soglia viene utilizzata per il punteggio di probabilità. |
HarmCategory
Categorie HRM che bloccano contenuti.
Parametri | |
---|---|
|
La categoria dei danni non è specificata. |
|
La categoria dei danni è l'incitamento all'odio. |
|
La categoria dei contenuti dannosi è quella dei contenuti pericolosi. |
|
La categoria dei danni è molestie. |
|
La categoria dei contenuti dannosi è costituita da contenuti sessualmente espliciti. |
HarmBlockThreshold
Livelli di soglie di probabilità utilizzati per bloccare una risposta.
Parametri | |
---|---|
|
Soglia di blocco dei danni non specificata. |
|
Blocca soglia bassa e superiore (ad es. blocca altri). |
|
Blocca soglia media e superiore. |
|
Blocca solo la soglia alta (ossia blocca meno). |
|
Nessun blocco. |
HarmBlockMethod
Una soglia di probabilità che blocca una risposta in base a una combinazione di probabilità e gravità.
Parametri | |
---|---|
|
Il metodo di blocco dei danni non è specificato. |
|
Il metodo di blocco dei danni utilizza sia punteggi di probabilità che punteggi di gravità. |
|
Il metodo di blocco dei danni utilizza il punteggio di probabilità. |
GenerationConfig
Impostazioni di configurazione utilizzate durante la generazione della richiesta.
Parametri | |
---|---|
|
Facoltativo: Controlla la casualità delle previsioni. |
|
Facoltativo: Se specificato, viene utilizzato il campionamento del nucleo. |
|
Facoltativo: se specificato, viene utilizzato il campionamento top-k. |
|
Facoltativo: Numero di candidati da generare. |
|
Facoltativo: int Il numero massimo di token di output da generare per messaggio. |
|
Facoltativo: Interrompi le sequenze. |
|
Facoltativo: Sanzioni positive. |
|
Facoltativo: Sanzioni relative alla frequenza. |
|
Facoltativo: Tipo MIME della risposta di output del testo del candidato generato. Tipo MIME supportato:
Questa è una funzionalità in anteprima. |
Esempi
Risposta di testo non in streaming
Genera una risposta del modello non in modalità flusso da un input di testo.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- TEXT: le istruzioni testuali da includere nel prompt.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Corpo JSON della richiesta:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }'
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent"
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
C#
Risposta multimodale non in streaming
Genera una risposta del modello non in modalità flusso da un input multimodale, come testo e immagine.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- TEXT: le istruzioni testuali da includere nel prompt.
- FILE_URI: l'URI Cloud Storage del file in cui sono archiviati i dati.
- MIME_TYPE: il tipo MIME TIANA dei dati.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Corpo JSON della richiesta:
{ "contents": [{ "role": "user", "parts": [ { "text": "TEXT" }, { "file_data": {"file_uri": "FILE_URI", "MIME_TYPE"} }, { "file_data": {"file_uri": "FILE_URI", "MIME_TYPE"} } ] }] }
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent"
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
C#
Risposta di testo in streaming
Genera una risposta del modello di flusso da un input di testo.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- TEXT: le istruzioni testuali da includere nel prompt.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Corpo JSON della richiesta:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }'
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent"
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent" | Select-Object -Expand Content
Python
NodeJS
Risposta multimodale in streaming
Generare una risposta del modello in modalità flusso da un input multimodale, come testo e immagine.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- TEXT: le istruzioni testuali da includere nel prompt.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Corpo JSON della richiesta:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }'
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent"
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent" | Select-Object -Expand Content
Python
NodeJS
Passaggi successivi
- Scopri di più sull'API Gemini.
- Scopri di più sulle chiamate di funzione.
- Scopri di più sulle risposte di grounding per i modelli Gemini.