Puoi aggiungere documenti (file PDF e TXT) alle richieste di Gemini per eseguire attività che richiedono la comprensione dei contenuti dei documenti inclusi. Questa pagina mostra come aggiungere PDF alle tue richieste a Gemini in Gemini Enterprise Agent Platform utilizzando la console Google Cloud e l'API Agent Platform.
Modelli supportati
La tabella seguente elenca i modelli che supportano la comprensione dei documenti:
| Modelli | Info contenuti multimediali | Tipi MIME |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 Questo è il TPM massimo degli input dei documenti in tutte le richieste di un progetto. Utilizza anche il TPM massimo per altre modalità.
La metrica della quota è generate_content_document_input_per_base_model_id_and_resolution.
Per un elenco delle lingue supportate dai modelli Gemini, consulta le informazioni sui modelli Google. Per scoprire di più su come progettare prompt multimodali, consulta Progetta prompt multimodali. Se stai cercando un modo per utilizzare Gemini direttamente dalle tue app web e mobile, consulta gli SDK client Firebase AI Logic per le app Swift, Android, web, Flutter e Unity.
Limiti degli endpoint API e della finestra contestuale
I modelli Gemini 3 e versioni successive standard accettano fino a 3000 immagini e PDF combinati, 1000 file audio o 10 video per richiesta sia in generateContent sia nell'API Interactions (fino a 6500 file multimodali combinati se sono inclusi file di testo normale). Gli endpoint Gemini 2.5 non migrati e gemini-3.1-pro-preview-customtools applicano i limiti legacy per le dimensioni dei file, le pagine PDF (1000) e il numero di URL HTTP o HTTPS. I limiti pratici delle richieste dipendono anche dall'endpoint API, dall'origine del file e dalla finestra di contesto:
- Limite di URI dell'API Interactions per i file di Cloud Storage: le richieste API Interactions supportano fino a 100 URI Cloud Storage (
gs://) distinti per richiesta di interazione del modello, inclusi gli URI riportati dai turni di conversazione precedenti tramiteprevious_interaction_id. Le richiestegenerateContentsupportano gli URIgs://fino al limite di elementi del modello. - Limiti per l'origine file, la parte inline e il payload della richiesta: i singoli file a cui viene fatto riferimento da Cloud Storage non possono superare i 2 GiB meno 500 KiB, mentre i file a cui viene fatto riferimento da URL HTTP o HTTPS pubblici non possono superare i 15 MiB. Su
generateContentestreamGenerateContent, ogni allegato incorporato (inline_data) non può superare i 256 MB sui modelli Gemini 3 standard e successivi e il payload totale della richiesta HTTP o gRPC compressa non può superare i 500 MiB (la codifica base64 aggiunge circa il 33% di overhead delle dimensioni). Nell'API Interactions, il payload della richiesta HTTP compressa non può superare i 256 MiB per le richieste sincrone o in streaming; quandoservice_tierè impostato sudeferred(che richiede che siabackgroundsiastoresianotrue), la richiesta non compressa non può superare i 9,75 MiB. - Finestra di contesto: il numero totale di token di tutti gli input multimodali e del testo in una richiesta non può superare il limite di token di input del modello (1.048.576 token su Gemini 3 standard e modelli successivi).
Aggiungi documenti a una richiesta
Il seguente esempio di codice mostra come includere un PDF in una richiesta di prompt. Questo esempio di PDF funziona con tutti i modelli multimodali di Gemini.
Python
Installa
pip install --upgrade google-genai
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Google Gen AI con Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Go
Scopri come installare o aggiornare l'Go.
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Google Gen AI con Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Java
Scopri come installare o aggiornare l'Java.
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Google Gen AI con Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Node.js
Installa
npm install @google/genai
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Google Gen AI con Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
C#
Scopri come installare o aggiornare l'C#.
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Google Gen AI con Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
REST
Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt testuale. L'esempio seguente invia una richiesta all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: il tuo ID progetto. .FILE_URI: l'URI o l'URL del file da includere nel prompt. I valori accettati includono:- URI del bucket Cloud Storage: l'oggetto deve essere leggibile pubblicamente o risiedere nello stesso progetto Google Cloud che invia la richiesta.
- URL HTTP: l'URL del file deve essere leggibile pubblicamente e non può superare i 15 MiB per file.
I modelli Gemini 3 e versioni successive standard accettano fino a 3000 immagini e PDF combinati,
1000 file audio o 10 video per richiesta (fino a 6500 file totali se sono inclusi file di testo
normale). Gli endpoint Gemini 2.5 non migrati e
gemini-3.1-pro-preview-customtoolslimitano gli URL HTTP o HTTPS a 10 immagini, 1 file audio o 1 video per richiesta. - URL del video di YouTube: il video di YouTube deve essere di proprietà dell'account che hai utilizzato per accedere alla console Google Cloud o essere pubblico. È supportato un solo URL di video di YouTube per richiesta.
Quando specifichi un
fileURI, devi anche specificare il tipo di media (mimeType) del file. Se i Controlli di servizio VPC sono abilitati, non è supportata la specifica di un URL di un file multimediale perfileURI.Se non hai un file PDF in Cloud Storage, puoi utilizzare il seguente file disponibile pubblicamente:
gs://cloud-samples-data/generative-ai/pdf/2403.05530.pdfcon un tipo MIMEapplication/pdf. Per visualizzare questo PDF, apri il file PDF di esempio.MIME_TYPE: il tipo di media del file specificato nei campidataofileUri. I valori accettabili includono:Fai clic per espandere i tipi MIME
application/pdfaudio/mpegaudio/mp3audio/wavimage/pngimage/jpegimage/webptext/plainvideo/movvideo/mpegvideo/mp4video/mpgvideo/avivideo/wmvvideo/mpegpsvideo/flv
TEXT: le istruzioni di testo da includere nel prompt. Ad esempio:You are a very professional document summarization specialist. Please summarize the given document.
Per inviare la richiesta, scegli una di queste 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": [
{
"fileData": {
"fileUri": "FILE_URI",
"mimeType": "MIME_TYPE"
}
},
{
"text": "TEXT"
}
]
}
}
EOFQuindi esegui questo 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://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash:generateContent"
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": [
{
"fileData": {
"fileUri": "FILE_URI",
"mimeType": "MIME_TYPE"
}
},
{
"text": "TEXT"
}
]
}
}
'@ | Out-File -FilePath request.json -Encoding utf8Quindi esegui questo 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://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash:generateContent" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente.
Nell'URL di questo esempio, tieni presente quanto segue:- Utilizza il metodo
generateContentper richiedere che la risposta venga restituita dopo che è stata generata completamente. Per ridurre la percezione della latenza per un pubblico umano, trasmetti la risposta in streaming mentre viene generata utilizzando il metodostreamGenerateContent. - L'ID del modello multimodale si trova alla fine dell'URL prima del metodo (ad esempio,
gemini-3.5-flash). Questo esempio potrebbe supportare anche altri modelli. - Quando utilizzi un endpoint API regionale (ad esempio
us-central1), la regione dell'URL dell'endpoint determina dove viene elaborata la richiesta. Qualsiasi località in conflitto nel percorso della risorsa viene ignorata.
Console
Per inviare un prompt multimodale utilizzando la console Google Cloud , segui questi passaggi:Nella sezione Agent Platform della console Google Cloud , vai alla pagina Agent Studio.
Fai clic su Crea prompt.
(Facoltativo) Configura il modello e i parametri:
- Modello: seleziona un modello.
(Facoltativo) Per configurare i parametri avanzati, fai clic su Avanzate e configura quanto segue:
Fai clic per espandere le configurazioni avanzate
Top-K: utilizza il cursore 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 a1indica che il token successivo selezionato è il più probabile tra tutti i token nel vocabolario del modello (chiamato anche decodifica greedy). Un top-K pari a3indica, 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ù alte. 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 cursore 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 probabilità non corrisponde al valore di top-P. Per ridurre al minimo la variabilità dei risultati, imposta Top-P su
0. - Numero massimo di risposte: utilizza il cursore o la casella di testo per inserire un valore per il numero di risposte da generare.
- Risposte dinamiche: attiva questa opzione per stampare le risposte man mano che vengono generate.
- Soglia del filtro di sicurezza: seleziona la soglia di probabilità di ricevere risposte potenzialmente dannose.
- Abilita grounding: il grounding non è supportato per i prompt multimodali.
- Regione: seleziona la regione che vuoi utilizzare.
- Temperatura: utilizza il cursore o la casella di testo per inserire un valore per la temperatura.
The temperature is used for sampling during response generation, which occurs whentopPandtopKare applied. Temperature controls the degree of randomness in token selection. Lower temperatures are good for prompts that require a less open-ended or creative response, while higher temperatures can lead to more diverse or creative results. A temperature of0means that the highest probability tokens are always selected. In this case, responses for a given prompt are mostly deterministic, but a small amount of variation is still possible.If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature. If the model enters infinite generation, increasing the temperature to at least
0.1may lead to improved results.1.0is the recommended starting value for temperature. </li> <li>**Output token limit**: Use the slider or textbox to enter a value for the max output limit. Maximum number of tokens that can be generated in the response. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words.Specify a lower value for shorter responses and a higher value for potentially longer responses.
</li> <li>**Add stop sequence**: Optional. Enter a stop sequence, which is a series of characters that includes spaces. If the model encounters a stop sequence, the response generation stops. The stop sequence isn't included in the response, and you can add up to five stop sequences.</li> </ul>
Fai clic su Inserisci contenuti multimediali e seleziona un'origine per il file.
Carica
Seleziona il file che vuoi caricare e fai clic su Apri.
Tramite URL
Inserisci l'URL del file che vuoi utilizzare e fai clic su Inserisci.
Cloud Storage
Seleziona il bucket e poi il file da importare dal bucket, quindi fai clic su Seleziona.
Google Drive
- Scegli un account e concedi ad Agent Studio il consenso per accedere al tuo account la prima volta che selezioni questa opzione. Puoi caricare più file con una dimensione totale massima di 10 MB. Un singolo file non può superare i 7 MB.
- Fai clic sul file che vuoi aggiungere.
Fai clic su Seleziona.
La miniatura del file viene visualizzata nel riquadro Prompt. Viene visualizzato anche il numero totale di token. Se i dati del prompt superano il limite di token, i token vengono troncati e non vengono inclusi nell'elaborazione dei dati.
Inserisci il prompt testuale nel riquadro Prompt.
(Facoltativo) Per visualizzare l'ID token in testo e gli ID token, fai clic sul conteggio dei token nel riquadro Prompt.
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 prompt, fai clic su Crea con il codice > Ottieni codice.
Imposta i parametri facoltativi del modello
Ogni modello ha un insieme di parametri facoltativi che puoi impostare. Per ulteriori informazioni, consulta Parametri di generazione dei contenuti.
Tokenizzazione dei documenti
Con i modelli Gemini 3, la tokenizzazione dei documenti utilizza una lunghezza di sequenza variabile che sostituisce il metodo Pan and Scan utilizzato nei modelli precedenti per migliorare la qualità e la latenza.
Puoi specificare una risoluzione dei contenuti multimediali per gli input PDF, che influisce sulla modalità di tokenizzazione dei documenti e sul numero di token utilizzati per ogni documento.
Puoi impostare media_resolution in generationConfig in modo che venga applicato a tutti i contenuti multimediali della richiesta oppure impostarlo per singole parti multimediali, il che sostituirà l'impostazione di primo livello.
Per i modelli Gemini 3 sono disponibili le seguenti risoluzioni:
MEDIA_RESOLUTION_HIGH: 1120 token per i PDFMEDIA_RESOLUTION_MEDIUM: 560 token per i PDFMEDIA_RESOLUTION_LOW: 280 token per pagina per i PDFMEDIA_RESOLUTION_UNSPECIFIED: 560 per i PDF (predefinito)
Questo esempio di codice mostra come regolare media_resolution:
API GenerateContent
from google import genai from google.genai import types client = genai.Client() response = client.models.generate_content( model="gemini-3.1-pro-preview", contents=[ types.Part( file_data=types.FileData( file_uri="gs://cloud-samples-data/generative-ai/image/a-man-and-a-dog.png", mime_type="image/jpeg", ), media_resolution=types.PartMediaResolution( level=types.PartMediaResolutionLevel.MEDIA_RESOLUTION_HIGH ), ), types.Part( file_data=types.FileData( file_uri="gs://cloud-samples-data/generative-ai/video/behind_the_scenes_pixel.mp4", mime_type="video/mp4", ), media_resolution=types.PartMediaResolution( level=types.PartMediaResolutionLevel.MEDIA_RESOLUTION_LOW ), ), "When does the image appear in the video? What is the context?", ], ) print(response.text)
API Interactions
from google import genai client = genai.Client( enterprise=True, project="PROJECT_ID", location="global", ) interaction = client.interactions.create( model="gemini-3.8-flash", input=[ { "type": "image", "uri": "gs://cloud-samples-data/generative-ai/image/a-man-and-a-dog.png", "mime_type": "image/png", "resolution": "high", # Options: "low", "medium", "high", "ultra_high" }, { "type": "video", "uri": "gs://cloud-samples-data/generative-ai/video/behind_the_scenes_pixel.mp4", "mime_type": "video/mp4", "resolution": "low", # Options: "low", "medium", "high", "ultra_high" }, { "type": "text", "text": "When does the image appear in the video? What is the context?", }, ], ) print(interaction.output_text)
Best practice per i PDF
Quando utilizzi i PDF, segui queste best practice e informazioni per ottenere i risultati migliori:
- Se il prompt contiene un singolo PDF, inserisci il PDF prima del prompt di testo nella richiesta.
- Se hai un documento lungo, valuta la possibilità di suddividerlo in più PDF per elaborarlo.
- Utilizza PDF creati con testo visualizzato come testo anziché utilizzare testo in immagini scansionate. Questo formato garantisce che il testo sia leggibile da macchina, in modo che sia più facile per il modello modificarlo, cercarlo e manipolarlo rispetto ai PDF di immagini scansionate. Questa pratica fornisce risultati ottimali quando si lavora con documenti con molto testo, come i contratti.
Limitazioni
Sebbene i modelli multimodali Gemini siano potenti in molti casi d'uso multimodali, è importante comprenderne i limiti:
- Ragionamento spaziale: i modelli non sono precisi nell'individuare testo o oggetti nei PDF. Potrebbero restituire solo i conteggi approssimativi degli oggetti.
- Accuratezza: i modelli potrebbero generare allucinazioni durante l'interpretazione del testo scritto a mano nei documenti PDF.
Passaggi successivi
- Inizia a creare con i modelli multimodali di Gemini: i nuovi clienti ricevono 300 $di crediti Google Cloud senza costi per esplorare ciò che possono fare con Gemini.
- Scopri come inviare richieste di prompt di chat.
- Scopri le best practice per l'AI responsabile e i filtri di sicurezza di Agent Platform.