Ce guide de démarrage rapide vous explique comment installer le SDK Google Gen AI pour la langue de votre choix, puis effectuer votre première requête API. Les exemples varient légèrement selon que vous utilisez une clé API ou des identifiants par défaut de l'application (ADC) pour l'authentification.
Choisissez votre méthode d'authentification:
Avant de commencer
Si vous n'avez pas configuré les identifiants par défaut de l'application, consultez la section Configurer les identifiants par défaut de l'application.
Configurer votre environnement
Python
-
Installez le SDK Google Gen AI avec Python 3.9 ou une version ultérieure:
pip install -q -U google-genai
-
Définissez les variables d'environnement :
export GOOGLE_CLOUD_PROJECT=YOUR_PROJECT_ID
REST
Définissez les variables d'environnement :
export GOOGLE_CLOUD_PROJECT=YOUR_PROJECT_ID
Créer votre première requête
Utilisez la méthode generateContent
pour envoyer une requête à l'API Gemini dans Vertex AI:
Python
from google import genai client = genai.Client(vertexai=True, project="${GOOGLE_CLOUD_PROJECT}", location="global") response = client.models.generate_content( model="gemini-2.0-flash", contents="Explain how AI works in a few words" ) print(response.text)
REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://aiplatform.googleapis.com/v1/projects/${GOOGLE_CLOUD_PROJECT}/locations/global/publishers/google/models/gemini-2.0-flash-001:generateContent -d \ $'{ "contents": { "role": "user", "parts": { "text": "Explain how AI works in a few words" } } }'
Générer des images
Gemini peut générer et traiter des images dans le cadre d'une conversation. Vous pouvez demander à Gemini d'effectuer diverses tâches liées aux images, telles que la génération et l'édition d'images, à l'aide de texte, d'images ou d'une combinaison des deux. Le code suivant montre comment générer une image à partir d'une invite descriptive:
Vous devez inclure responseModalities: ["TEXT", "IMAGE"]
dans votre configuration. La sortie image seule n'est pas prise en charge avec ces modèles.
Python
from google import genai from google.genai import types from PIL import Image from io import BytesIO import base64 client = genai.Client(vertexai=True, project="${GOOGLE_CLOUD_PROJECT}", location="global") contents = ('Hi, can you create an image of the Eiffel tower with fireworks in the background?') response = client.models.generate_content( model="gemini-2.0-flash-preview-image-generation", contents=contents, config=types.GenerateContentConfig( response_modalities=['TEXT', 'IMAGE'] ) ) for part in response.candidates[0].content.parts: if part.text is not None: print(part.text) elif part.inline_data is not None: image = Image.open(BytesIO((part.inline_data.data))) image.save('gemini-native-image.png') image.show()
REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://aiplatform.googleapis.com/v1/projects/${GOOGLE_CLOUD_PROJECT}/locations/global/publishers/google/models/gemini-2.0-flash-preview-image-generation:generateContent -d \ $'{ "contents": { "role": "user", "parts": { "text": "Can you create an image of the Eiffel tower with fireworks in the background?" } }, "generationConfig": { "responseModalities":["TEXT","IMAGE"] } }'
Compréhension des images
Gemini peut également comprendre les images. Le code suivant utilise l'image générée dans la section précédente et un autre modèle pour inférer des informations sur l'image:
Python
from google import genai from google.genai import types with open("gemini-native-image.png", "rb") as f: image = f.read() client = genai.Client(vertexai=True, project="${GOOGLE_CLOUD_PROJECT}", location="global") response = client.models.generate_content( model="gemini-flash-2.0", contents=[ Part.from_bytes(data=image, mime_type="image/png"), "Write a short and engaging blog post based on this picture.", ], ) print(response.text) ''' Okay, here's a short and engaging blog post inspired by the image: **Paris Aglow: A Night to Remember!** WOW! Just look at this image. Fireworks exploding over Paris, the Eiffel Tower brilliantly lit – can you imagine a more magical sight? This is Paris at its most dazzling, a city transformed into a canvas of light and color. The Eiffel Tower, the iconic symbol of Paris, stands proud amidst the spectacle. It's illuminated in blue, adding to the magical atmosphere of the celebrations. Whether it's a special occasion, a national holiday, or just a spontaneous celebration of life, Paris knows how to put on a show. This image is a reminder of the city's enduring beauty and its power to inspire awe. Have you ever witnessed the magic of Paris? Let me know in the comments! '''
REST
-
Définissez une variable d'interface système pour l'image que vous utilisez:
export B64_BASE_IMAGE=YOUR_B64_ENCODED_IMAGE
-
Exécutez la commande suivante :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://aiplatform.googleapis.com/v1/projects/${GOOGLE_CLOUD_PROJECT}/locations/global/publishers/google/models/gemini-2.0-flash:generateContent -d \ $'{ "contents": [ { "role": "user", "parts": [ {"text": "Write a short and engaging blog post based on this picture."}, {"inlineData": { "data": "${B64_BASE_IMAGE}", "mimeType": "image/png", } } ] } ] }'
Exécution du code
La fonctionnalité d'exécution de code de l'API Gemini dans Vertex AI permet au modèle de générer et d'exécuter du code Python ainsi que d'apprendre des résultats de façon itérative jusqu'à ce qu'il parvienne à une sortie finale. Vertex AI fournit l'exécution de code en tant qu'outil, tout comme l'appel de fonction. Vous pouvez vous servir de cette fonctionnalité pour créer des applications qui bénéficient d'un raisonnement basé sur du code et qui produisent des sorties textuelles. Exemple :
Python
from google import genai from google.genai import types client = genai.Client(vertexai=True, project="${GOOGLE_CLOUD_PROJECT}", location="global") response = client.models.generate_content( model="gemini-2.0-flash", contents="What is the sum of the first 50 prime numbers? " "Generate and run code for the calculation, and make sure you get all 50.", config=types.GenerateContentConfig( tools=[types.Tool(code_execution=types.ToolCodeExecution)] ), ) for part in response.candidates[0].content.parts: if part.text is not None: print(part.text) if part.executable_code is not None: print(part.executable_code.code) if part.code_execution_result is not None: print(part.code_execution_result.output)
REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://us-central1-aiplatform.googleapis.com/v1/projects/${GOOGLE_CLOUD_PROJECT}/locations/us-central1/publishers/google/models/gemini-2.0-flash-001:generateContent -d \ $'{ "tools": [{'codeExecution': {}}], "contents": { "role": "user", "parts": { "text": "What is the sum of the first 50 prime numbers? Generate and run code for the calculation, and make sure you get all 50." } }, }'
Pour en savoir plus sur l'exécution du code, consultez la documentation sur l'exécution du code.
Étapes suivantes
Maintenant que vous avez effectué votre première requête API, vous pouvez consulter les guides suivants qui expliquent comment configurer des fonctionnalités Vertex AI plus avancées pour le code de production: