Vous pouvez ajouter des documents (fichiers PDF et TXT) aux requêtes Gemini pour effectuer des tâches qui impliquent de comprendre le contenu des documents inclus. Cette page vous explique comment ajouter des PDF à vos requêtes Gemini dans Vertex AI à l'aide de la console Google Cloud et de l'API Vertex AI.
Modèles compatibles
Le tableau suivant liste les modèles compatibles avec la compréhension des documents :
Modèle | Informations sur les contenus multimédias | Types MIME |
---|---|---|
Gemini 2.5 Flash (preview) |
|
|
Gemini 2.5 Flash-Lite (preview) |
|
|
Image Gemini 2.5 Flash |
|
|
Gemini 2.5 Flash-Lite |
|
|
Gemini 2.0 Flash avec génération d'images (Aperçu) |
|
|
Gemini 2.5 Pro |
|
|
Gemini 2.5 Flash |
|
|
Gemini 2.0 Flash |
|
|
Gemini 2.0 Flash-Lite |
|
|
1 Il s'agit du nombre maximal de jetons par minute dans les entrées de document pour toutes les requêtes d'un projet. Utilisez également le nombre maximal de jetons par minute pour les autres modalités.
La métrique de quota est generate_content_document_input_per_base_model_id_and_resolution
.
Pour obtenir la liste des langues compatibles avec les modèles Gemini, consultez les informations sur les modèles en accédant à Modèles Google. Pour en savoir plus sur la conception de requêtes multimodales, consultez Concevoir des requêtes multimodales. Si vous souhaitez utiliser Gemini directement à partir de vos applications mobiles et Web, consultez les SDK client Firebase AI Logic pour les applications Swift, Android, Web, Flutter et Unity.
Ajouter des documents à une requête
L'exemple de code suivant montre comment inclure un fichier PDF dans une requête. Cet exemple de fichier PDF fonctionne avec tous les modèles multimodaux Gemini.
Python
Installation
pip install --upgrade google-genai
Pour en savoir plus, consultez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Gen AI avec 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_VERTEXAI=True
Go
Découvrez comment installer ou mettre à jour le Go.
Pour en savoir plus, lisez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Gen AI avec 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_VERTEXAI=True
Java
Découvrez comment installer ou mettre à jour le Java.
Pour en savoir plus, lisez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Gen AI avec 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_VERTEXAI=True
Node.js
Installer
npm install @google/genai
Pour en savoir plus, consultez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Gen AI avec 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_VERTEXAI=True
REST
Une fois que vous avez configuré votre environnement, vous pouvez utiliser REST pour tester un prompt textuel. L'exemple suivant envoie une requête au point de terminaison du modèle de l'éditeur.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID
: ID de votre projet.FILE_URI
: URI ou URL du fichier à inclure dans la requête. Les valeurs acceptées incluent les suivantes :- URI du bucket Cloud Storage : l'objet doit être lisible publiquement ou se trouver dans le même projet Google Cloud que celui qui envoie la requête. La taille limite pour
gemini-2.0-flash
etgemini-2.0-flash-lite
est de 2 Go. - URL HTTP : l'URL du fichier doit être lisible publiquement. Vous pouvez spécifier un fichier vidéo, un fichier audio et jusqu'à 10 fichiers image par requête. Les fichiers audio, les fichiers vidéo et les documents ne doivent pas dépasser 15 Mo.
- URL de la vidéo YouTube : la vidéo YouTube doit appartenir au compte que vous avez utilisé pour vous connecter à la console Google Cloud ou être publique. Une seule URL de vidéo YouTube est acceptée par requête.
Lorsque vous spécifiez un
fileURI
, vous devez également indiquer le type de contenu multimédia (mimeType
) du fichier. Si VPC Service Controls est activé, la spécification d'une URL de fichier multimédia pourfileURI
n'est pas acceptée.Si vous ne disposez pas de fichier PDF dans Cloud Storage, vous pouvez utiliser le fichier suivant, accessible publiquement :
gs://cloud-samples-data/generative-ai/pdf/2403.05530.pdf
(type MIME :application/pdf
). Pour visualiser ce fichier PDF, ouvrez l'exemple de fichier PDF.- URI du bucket Cloud Storage : l'objet doit être lisible publiquement ou se trouver dans le même projet Google Cloud que celui qui envoie la requête. La taille limite pour
MIME_TYPE
: type de contenu du fichier spécifié dans les champsdata
oufileUri
. Les valeurs acceptées incluent les suivantes :Cliquez pour développer les types MIME.
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
TEXT
: instructions textuelles à inclure dans la requête. Exemple :You are a very professional document summarization specialist. Please summarize the given document.
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
Exécutez ensuite la commande suivante pour envoyer votre requête 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-2.0-flash:generateContent"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
Exécutez ensuite la commande suivante pour envoyer votre requête 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-2.0-flash:generateContent" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON semblable à la suivante.
Notez les points suivants dans l'URL de cet exemple :- Utilisez la méthode
generateContent
pour demander que la réponse soit renvoyée une fois qu'elle a été entièrement générée. Pour réduire la perception de la latence auprès d'un public humain, affichez la réponse progressivement à mesure qu'elle est générée à l'aide de la méthodestreamGenerateContent
. - L'ID du modèle multimodal se trouve à la fin de l'URL avant la méthode (par exemple,
gemini-2.0-flash
). Cet exemple peut également s'appliquer à d'autres modèles.
Console
Pour envoyer une requête multimodale à l'aide de la console Google Cloud , procédez comme suit :Dans la section "Vertex AI" de la console Google Cloud , accédez à la page Vertex AI Studio.
Cliquez sur Créer une requête.
(Facultatif) Configurez le modèle et les paramètres :
- Modèle : sélectionnez un modèle.
(Facultatif) Pour configurer des paramètres avancés, cliquez sur Avancé, puis configurez les paramètres comme suit :
Cliquez pour développer les configurations avancées.
Top-K : utilisez le curseur ou la zone de texte pour saisir une valeur.
Le top-K modifie la façon dont le modèle sélectionne les jetons pour la sortie. Une valeur top-K de1
signifie que le prochain jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (également appelé décodage glouton), tandis qu'une valeur top-K de3
signifie que le jeton suivant est sélectionné parmi les trois jetons les plus probables en utilisant la température.Pour chaque étape de sélection du jeton, les jetons top-K avec les probabilités les plus élevées sont échantillonnés. Les jetons sont ensuite filtrés en fonction du top-P avec le jeton final sélectionné à l'aide de l'échantillonnage de température.
Spécifiez une valeur inférieure pour obtenir des réponses moins aléatoires et une valeur supérieure pour des réponses plus aléatoires.
- Top-P : utilisez le curseur ou la zone de texte pour saisir une valeur.
Les jetons sont sélectionnés du plus probable au moins probable, jusqu'à ce que la somme de leurs probabilités soit égale à la valeur du top-P. Pour obtenir les résultats les moins variables, définissez "Top-P" sur
0
. - Nombre maximal de réponses : utilisez le curseur ou la zone de texte pour saisir le nombre de réponses à générer.
- Réponses en streaming : permet d'imprimer les réponses au fur et à mesure de leur génération.
- Seuil de filtre de sécurité : sélectionnez le seuil de la probabilité que des réponses potentiellement nuisibles s'affichent.
- Activer l'ancrage : l'ancrage n'est pas compatible avec les requêtes multimodales.
- Région : sélectionnez la région que vous souhaitez utiliser.
- Température : utilisez le curseur ou la zone de texte pour saisir une valeur de température.
The temperature is used for sampling during response generation, which occurs when
andtopP
topK
are 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 of0
means 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.
</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>
Cliquez sur Insérer un média, puis sélectionnez une source pour votre fichier.
Importer
Sélectionnez le fichier que vous souhaitez importer, puis cliquez sur Ouvrir.
À partir d'une URL
Saisissez l'URL du fichier que vous souhaitez utiliser, puis cliquez sur Insérer.
Cloud Storage
Sélectionnez le bucket, puis le fichier que vous souhaitez importer, et cliquez sur Sélectionner.
Google Drive
- Choisissez un compte et autorisez Vertex AI Studio à y accéder la première fois que vous sélectionnez cette option. Vous pouvez importer plusieurs fichiers, à condition de ne pas dépasser une taille totale de 10 Mo. La taille d'un seul fichier ne peut pas dépasser 7 Mo.
- Cliquez sur le fichier que vous souhaitez ajouter.
Cliquez sur Sélectionner.
La vignette du fichier s'affiche dans le volet Requête. Le nombre total de jetons est également indiqué. Si les données de votre requête dépassent la limite de jetons, les jetons sont tronqués et ne sont pas inclus dans le traitement de vos données.
Saisissez votre requête textuelle dans le volet Requête.
(Facultatif) Pour afficher les ID de jeton Texte et les ID de jeton, cliquez sur le nombre de jetons dans le volet Requête.
Cliquez sur Envoyer.
(Facultatif) Pour enregistrer votre requête dans Mes requêtes, cliquez sur
Enregistrer.(Facultatif) pour obtenir le code Python ou la commande curl de votre requête, cliquez sur
Compiler avec du code > Obtenir le code.
Définir des paramètres de modèle facultatifs
Chaque modèle est associé à un ensemble de paramètres facultatifs que vous pouvez définir. Pour en savoir plus, consultez Paramètres de génération de contenu.
Tokenisation des documents
Tokenisation de fichiers PDF
Les fichiers PDF sont traités comme des images. Ainsi, chaque page d'un fichier PDF est tokenisée de la même manière qu'une image.
De plus, le coût applicable aux fichiers PDF est aligné sur les tarifs de Gemini pour les images. Par exemple, si vous incluez un fichier PDF de deux pages dans un appel d'API Gemini, des frais d'entrée pour le traitement des deux images vous sont facturés.
Bonnes pratiques pour les PDF
Lorsque vous utilisez des fichiers PDF, suivez les bonnes pratiques et informations suivantes pour obtenir des résultats optimaux :
- Si votre requête contient un seul fichier PDF, placez-le avant la requête textuelle.
- Si votre document est long, envisagez de le diviser en plusieurs fichiers PDF pour faciliter son traitement.
- Utilisez des PDF créés avec du texte affiché au format texte plutôt que du texte d'images numérisées. Ce format permet de s'assurer que le texte est lisible par un ordinateur. Le modèle peut ainsi le modifier, y effectuer des recherches et le manipuler plus facilement qu'avec des fichiers PDF constitués d'images numérisées. Cette bonne pratique fournit des résultats optimaux si les documents contiennent beaucoup de texte (par exemple, des contrats).
Limites
Bien que les modèles multimodaux Gemini soient performants dans de nombreux cas d'utilisation multimodaux, il est important de comprendre leurs limites :
- Raisonnement spatial : les modèles ne parviennent pas à localiser précisément du texte ou des objets dans des fichiers PDF. Ils peuvent ne renvoyer que des décomptes approximatifs d'objets.
- Justesse : les modèles peuvent produire des hallucinations lors de l'interprétation de texte manuscrit dans des documents PDF.
Étapes suivantes
- Commencez à créer des modèles multimodaux Gemini. Les nouveaux clients bénéficient de 300 $ de crédits Google Cloud gratuits pour découvrir ce qu'ils peuvent faire avec Gemini.
- Découvrez comment envoyer des requêtes de chat.
- Découvrez les bonnes pratiques d'IA responsable et les filtres de sécurité de Vertex AI.