Puoi aggiungere immagini alle richieste dell'API Gemini Chat Completions per eseguire attività che comportano la comprensione dei contenuti delle immagini incluse. La comprensione delle immagini è uno degli input multimodali di Gemini che combinano testo e file multimediali.
Per ulteriori informazioni sulla comprensione delle immagini con Gemini e istruzioni passo passo per l'invio di richieste API, consulta Inviare un prompt multimodale.
Specifiche per i prompt con immagini
Puoi aggiungere una o più immagini alle tue richieste a Gemini. Il numero massimo di immagini per prompt per garantire le prestazioni dei modelli Gemini in Google Distributed Cloud (GDC) air-gapped è 100.
Non esiste un limite specifico al numero di pixel in un'immagine. Tuttavia, le immagini più grandi vengono ridimensionate e riempite per adattarsi a una risoluzione massima di 768 x 768 mantenendo le proporzioni originali. Ogni immagine equivale a 258 token.
Le immagini devono essere in uno dei seguenti tipi MIME di dati immagine:
- HEIC:
image/heic - HEIF:
image/heif - JPG:
image/jpgoimage/jpeg - PNG:
image/png - WEBP:
image/webp
Puoi utilizzare l'endpoint Completamento chat nell'API REST e utilizzare un client HTTP o gli SDK ufficiali di OpenAI per Python. Puoi fornire l'immagine come dati incorporati nella richiesta del prompt come file codificato in base64 o caricare il file immagine in un bucket di archiviazione prima di effettuare la richiesta del prompt.
Scopri di più sulle best practice e sulle limitazioni per le immagini nella documentazione di Google Cloud .
Per saperne di più su OpenAI e sull'endpoint Chat Completions che Gemini implementa in Google Distributed Cloud (GDC) air-gapped, consulta https://platform.openai.com/docs/api-reference/chat.
Comprendere un'immagine da un prompt
Gli esempi seguenti mostrano una richiesta dell'API Gemini Chat Completions per generare testo da input di testo e immagini utilizzando gli SDK ufficiali di OpenAI per Python o curl.
Python
import openai
client = openai.OpenAI()
model_response = client.chat.completions.create(
model = "MODEL_ID",
messages = [
{
"role": "user",
"content": "What's in this image?"
},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
# Image URL or base64-encoded data
"url": IMAGE_DATA,
}
}
]
}
]
)
print(model_response)
Sostituisci quanto segue:
MODEL_ID: l'ID endpoint del modello da cui vuoi generare la risposta.IMAGE_DATA: il percorso di un URL immagine in un bucket o i dati dell'immagine codificati in base64. A seconda dei tuoi dati, considera i seguenti aspetti:- I dati con codifica Base64 devono avere come prefisso uno schema URI dati, RFC 2397.
Pertanto, il formato del campo
urlper i dati con codifica base64 è, ad esempio,"url": f"data:image/jpeg;base64,{base64_image}". - Gli URL delle immagini devono fare riferimento a immagini archiviate in un bucket di archiviazione GDC. Pertanto, il formato del campo
urlper gli URL delle immagini è, ad esempio,"url": "s3://path/to/bucket/image". Per maggiori informazioni, vedi Memorizzare i dati.
- I dati con codifica Base64 devono avere come prefisso uno schema URI dati, RFC 2397.
Pertanto, il formato del campo
curl
curl \
-X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
-d '{
"model_id": "MODEL_ID",
"messages": [
{
"role": "user",
"content": "What's in this image?"
},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
# Image URL or base64-encoded data
"url": IMAGE_DATA
}
}
]
}
],
"max_tokens": 300
}'
Sostituisci quanto segue:
ENDPOINT: l'endpoint API che utilizzi per la tua organizzazione.PROJECT: il tuo ID progetto.MODEL_ID: l'ID endpoint del modello da cui vuoi generare la risposta.IMAGE_DATA: il percorso di un URL immagine in un bucket o i dati dell'immagine codificati in base64. A seconda dei tuoi dati, considera i seguenti aspetti:- I dati con codifica Base64 devono avere come prefisso uno schema URI dati, RFC 2397.
Pertanto, il formato del campo
urlper i dati con codifica base64 è, ad esempio,"url": f"data:image/jpeg;base64,{base64_image}". - Gli URL delle immagini devono fare riferimento a immagini archiviate in un bucket di archiviazione GDC. Pertanto, il formato del campo
urlper gli URL delle immagini è, ad esempio,"url": "s3://path/to/bucket/image". Per maggiori informazioni, vedi Memorizzare i dati.
- I dati con codifica Base64 devono avere come prefisso uno schema URI dati, RFC 2397.
Pertanto, il formato del campo