Utilisez generateContent
ou streamGenerateContent
pour générer du contenu avec Gemini.
La famille de modèles Gemini inclut des modèles qui fonctionnent avec des requêtes multimodales. Le terme multimodal indique que vous pouvez utiliser plusieurs modalités (ou types d'entrée) dans une requête. Les modèles qui ne sont pas multimodaux n'acceptent que des requêtes textuelles. Les modalités peuvent inclure du texte, de l'audio, de la vidéo, etc…
Créer un compte Google Cloud pour commencer
Pour commencer à utiliser l'API Vertex AI pour Gemini, créez un compte Google Cloud.
Après avoir créé votre compte, utilisez ce document pour examiner le corps de la requête du modèle Gemini, les paramètres du modèle, le corps de la réponse et quelques exemples de requêtes.
Lorsque vous êtes prêt, consultez le guide de démarrage rapide de l'API Vertex AI pour Gemini pour apprendre à envoyer une requête à l'API Vertex AI Gemini à l'aide d'un SDK de langage de programmation ou de l'API REST.
Modèles compatibles
Modèle | Version |
---|---|
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 |
Exemple de syntaxe
Syntaxe permettant de générer une réponse du modèle.
Sans streaming
curl
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": [{ ... }], "generationConfig": { ... }, "safetySettings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) generation_config = GenerationConfig(...) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...})
Streaming
curl
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": [{ ... }], "generationConfig": { ... }, "safetySettings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...}, stream=True)
Liste des paramètres
Consultez des exemples pour en savoir plus sur l'implémentation.
Corps de la requête
{ "contents": [ { "role": string, "parts": [ { // Union field data can be only one of the following: "text": string, "inlineData": { "mimeType": string, "data": string }, "fileData": { "mimeType": string, "fileUri": string }, // End of list of possible types for union field data. "videoMetadata": { "startOffset": { "seconds": integer, "nanos": integer }, "endOffset": { "seconds": integer, "nanos": integer } } } ] } ], "systemInstruction": { "role": string, "parts": [ { "text": string } ] }, "tools": [ { "functionDeclarations": [ { "name": string, "description": string, "parameters": { object (OpenAPI Object Schema) } } ] } ], "safetySettings": [ { "category": enum (HarmCategory), "threshold": enum (HarmBlockThreshold) } ], "generationConfig": { "temperature": number, "topP": number, "topK": number, "candidateCount": integer, "maxOutputTokens": integer, "presencePenalty": float, "frequencyPenalty": float, "stopSequences": [ string ], "responseMimeType": string, "responseSchema": schema } }
Le corps de la requête contient des données avec les paramètres suivants :
Paramètres | |
---|---|
|
Requis : Contenu de la conversation en cours avec le modèle. Pour les requêtes à un seul tour, il s'agit d'une instance unique. Pour les requêtes multitours, il s'agit d'un champ répété contenant l'historique de la conversation et la dernière requête. |
|
Facultatif : Disponible pour Instructions permettant au modèle de l'orienter vers de meilleures performances. Par exemple, "répondez de manière aussi concise que possible" ou "N'utilisez pas de termes techniques dans votre réponse". Les chaînes Le champ |
|
Facultatif. Morceau de code qui permet au système d'interagir avec des systèmes externes pour effectuer une action ou un ensemble d'actions en dehors du champ d'application et des connaissances du modèle. Consultez la section Appel de fonction. |
|
Facultatif. Consultez la section Appel de fonction. |
|
Facultatif : Paramètres de requête définis pour le blocage du contenu non sécurisé. Appliqué le |
|
Facultatif : Paramètres de configuration de génération. |
|
Facultatif : Contenu mis en cache. Vous pouvez utiliser du contenu mis en cache dans les requêtes incluant du contenu répété. |
contents
Type de données structurées de base comportant un contenu en plusieurs parties d'un message.
Cette classe comprend deux propriétés principales : role
et parts
. La propriété role
indique l'individu qui produit le contenu, tandis que la propriété parts
contient plusieurs éléments, chacun représentant un segment de données au sein d'un message.
Paramètres | |
---|---|
|
Facultatif : Identité de l'entité qui crée le message. Les valeurs suivantes sont acceptées :
La valeur Pour les conversations non multitours, ce champ peut être vide ou non défini. |
|
Une liste de parties ordonnées qui composent un seul message. Chaque partie peut avoir des types MIME IANA différents. Pour connaître les limites concernant les entrées, telles que le nombre maximal de jetons ou d'images, consultez les spécifications du modèle sur la page Modèles Google. Pour calculer le nombre de jetons dans votre requête, consultez Obtenir le nombre de jetons. |
parts
Type de données contenant du contenu multimédia faisant partie d'un message Content
en plusieurs parties.
Paramètres | |
---|---|
|
Facultatif : Requête de texte ou extrait de code. |
|
Facultatif : Données intégrées dans des octets bruts. Pour |
|
Facultatif : Données stockées dans un fichier. |
|
Facultatif : Il contient une chaîne représentant le champ Consultez la section Appel de fonction. |
|
Facultatif : Résultat d'une Consultez la section Appel de fonction. |
|
Facultatif : Pour les entrées vidéo, le décalage de début et de fin de la vidéo sous forme de durée. Par exemple, pour spécifier un extrait de 10 secondes commençant à 1:00, définissez Vous ne devez spécifier les métadonnées que lorsque les données vidéo sont présentées dans |
blob
Blob de contenu. Si possible, envoyez le message sous forme de texte plutôt que d'octets bruts.
Paramètres | |
---|---|
|
data ou fileUri . Les valeurs acceptées incluent les suivantes :
Cliquer pour développer les types MIME
Pour Pour Gemini 1.5 Pro et Gemini 1.5 Flash, la durée maximale d'un fichier audio est de 8,4 heures et la durée maximale d'un fichier vidéo (sans audio) est d'une heure. Pour en savoir plus, consultez la section Exigences multimédias pour Gemini 1.5 Pro. Les fichiers texte doivent être encodés au format UTF-8. Le contenu du fichier texte est comptabilisé dans la limite du jeton. Aucune limite ne s'applique à la résolution d'image. |
|
Encodage base64 de l'image ou de la vidéo à intégrer à la requête. Lorsque vous intégrez du contenu multimédia, vous devez également spécifier le type de contenu multimédia ( Limite de taille : 20 Mo. |
CachedContent
Permet d'effectuer la mise à jour lorsqu'un cache de contexte expire. Vous devez spécifier ttl
ou expireTime
lorsque vous mettez à jour CachedContent
, mais vous ne pouvez pas spécifier les deux. Pour en savoir plus, consultez Utiliser la mise en cache de contexte.
Paramètres | |
---|---|
|
Permet de spécifier le nombre de secondes et de nanoseconds après la création ou la mise à jour d'un cache de contexte avant son expiration. |
|
Code temporel indiquant l'expiration d'un cache de contexte. |
TTL
Durée ou valeur TTL d'un cache de contexte après sa création ou sa mise à jour, avant son expiration.
Paramètres | |
---|---|
|
Composant en secondes de la durée avant l'expiration d'un cache de contexte après sa création. La valeur par défaut est de 3 600 secondes. |
|
Facultatif : Composant en nanosecondes de la durée avant l'expiration d'un cache de contexte après sa création. |
FileData
Données basées sur l'URI.
Paramètres | |
---|---|
|
Type MIME IANA des données. |
|
URI Cloud Storage du fichier à inclure dans la requête. L'objet bucket doit être lisible publiquement ou se trouver dans le même projet Google Cloud que celui qui envoie la requête. Vous devez également spécifier le type de contenu ( La taille limite pour Pour |
functionCall
Une valeur functionCall
prédite renvoyée par le modèle et qui contient une chaîne représentant le functionDeclaration.name
et un objet JSON structuré contenant les paramètres et leurs valeurs.
Paramètres | |
---|---|
|
Nom de la fonction à appeler. |
|
Paramètres et valeurs de la fonction au format d'objet JSON. Pour en savoir plus sur les paramètres, consultez la page Appel de fonction. |
functionResponse
Résultat d'une transformation FunctionCall
contenant une chaîne représentant le FunctionDeclaration.name
. Contient également un objet JSON structuré avec la sortie de la fonction (et l'utilise comme contexte pour le modèle). Doit contenir le résultat d'une opération FunctionCall
effectuée en fonction de la prédiction du modèle.
Paramètres | |
---|---|
|
Nom de la fonction à appeler. |
|
Réponse de la fonction au format d'objet JSON. |
videoMetadata
Métadonnées décrivant le contenu vidéo d'entrée.
Paramètres | |
---|---|
|
Facultatif : Décalage de début de la vidéo |
|
Facultatif : Décalage de fin de la vidéo |
safetySetting
Paramètres de sécurité
Paramètres | |
---|---|
|
Facultatif :
Catégorie de sécurité pour laquelle configurer un seuil. Les valeurs acceptées incluent les suivantes :
Cliquer pour développer les catégories de sécurité
|
|
Facultatif : Seuil de blocage des réponses susceptibles d'appartenir à la catégorie de sécurité spécifiée en fonction de la probabilité.
|
|
Facultatif : Indiquez si le seuil est utilisé pour le score de probabilité ou de gravité. Si cette valeur n'est pas spécifiée, le seuil est utilisé pour le score de probabilité. |
harmCategory
Catégories de préjudice qui bloquent le contenu.
Paramètres | |
---|---|
|
La catégorie de préjudice n'est pas spécifiée. |
|
La catégorie de préjudice est l'incitation à la haine. |
|
La catégorie de préjudice est le contenu dangereux. |
|
La catégorie de préjudice est le harcèlement. |
|
La catégorie de préjudice est le contenu à caractère sexuel explicite. |
harmBlockThreshold
Niveaux de seuil de probabilité utilisés pour bloquer une réponse.
Paramètres | |
---|---|
|
Seuil de blocage de préjudice non spécifié. |
|
Bloquer les seuils faibles et supérieurs (augmenter le nombre de blocages). |
|
Bloquer les seuils moyens et supérieurs. |
|
Bloquer uniquement les seuils élevés (réduire le nombre de blocage). |
|
Ne rien bloquer. |
harmBlockMethod
Seuil de probabilité qui bloque une réponse en fonction d'une combinaison de probabilité et de gravité.
Paramètres | |
---|---|
|
La méthode de blocage de préjudice n'est pas spécifiée. |
|
La méthode de blocage de préjudice utilise à la fois des scores de probabilité et de gravité. |
|
La méthode de blocage de préjudice utilise le score de probabilité. |
generationConfig
Paramètres de configuration utilisés lors de la génération de la requête.
Paramètres | |
---|---|
|
Facultatif :
La température est utilisée pour l'échantillonnage pendant la génération des réponses, qui se produit lorsque Si le modèle renvoie une réponse trop générique ou trop courte, ou s'il renvoie une réponse de remplacement, essayez d'augmenter la température.
|
|
Facultatif : Si spécifié, l'échantillonnage du noyau est utilisé. Top-P modifie la façon dont le modèle sélectionne les jetons pour la sortie. Les jetons sont sélectionnés en partant de la probabilité la plus forte (voir top-K) à la plus basse, jusqu'à ce que la somme de leurs probabilités soit égale à la valeur top-P. Par exemple, si les jetons A, B et C ont une probabilité de 0,3, 0,2 et 0,1 et que la valeur de top-P est 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.
|
|
Facultatif : Top-K modifie la façon dont le modèle sélectionne les jetons pour la sortie. Un top-K de Pour chaque étape de sélection des jetons, les jetons top-K ayant les plus fortes probabilités sont échantillonnés. Les jetons sont ensuite filtrés en fonction du top-P, puis le jeton final est 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. Plage : Compatible uniquement avec Valeur par défaut pour |
|
Facultatif : Nombre de variantes de réponse à renvoyer. Pour chaque requête, vous êtes facturé pour les jetons de sortie de tous les candidats, mais vous ne payez qu'une seule fois pour les jetons d'entrée. La spécification de plusieurs candidats est une fonctionnalité bêta qui fonctionne avec
|
|
Facultatif : int Nombre maximal de jetons pouvant être générés dans la réponse. Un jeton correspond environ à quatre caractères. 100 jetons correspondent à environ 60-80 mots. Spécifiez une valeur inférieure pour obtenir des réponses plus courtes et une valeur supérieure pour des réponses potentiellement plus longues. |
|
Facultatif :
Spécifie une liste de chaînes qui indiquent au modèle d'arrêter de générer du texte si l'une des chaînes est détectée dans la réponse. Si une chaîne apparaît plusieurs fois dans la réponse, celle-ci effectue une troncation lors de la première rencontre.
Les chaînes sont sensibles à la casse.
La liste ne peut pas contenir plus de cinq éléments. |
|
Facultatif : Pénalités positives. Les valeurs positives pénalisent les jetons qui apparaissent déjà dans le texte généré, ce qui augmente la probabilité de générer un contenu plus diversifié. La valeur maximale de Compatible avec |
|
Facultatif : Les valeurs positives pénalisent les jetons qui apparaissent de manière répétée dans le texte généré, ce qui réduit la probabilité de répétition du contenu. Cette valeur maximale pour Compatible avec |
|
Facultatif : Disponible pour Type MIME de la réponse de sortie du texte candidat généré. Types MIME acceptés :
Il s'agit d'une fonctionnalité en preview. |
|
Facultatif : schema Disponible pour Le schéma ayant généré le texte candidat doit se suivre. Pour en savoir plus, consultez la section Contrôler la sortie générée. Vous devez spécifier le champ Il s'agit d'une fonctionnalité en preview. |
Corps de la réponse
{ "candidates": [ { "content": { "parts": [ { "text": string } ] }, "finishReason": enum (FinishReason), "safetyRatings": [ { "category": enum (HarmCategory), "probability": enum (HarmProbability), "blocked": boolean } ], "citationMetadata": { "citations": [ { "startIndex": integer, "endIndex": integer, "uri": string, "title": string, "license": string, "publicationDate": { "year": integer, "month": integer, "day": integer } } ] } }, ], "usageMetadata": { "promptTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer } }
Élément de réponse | Description |
---|---|
text |
Texte généré. |
finishReason |
Raison pour laquelle le modèle a cessé de générer des jetons. Si ce champ est vide, le modèle n'a pas cessé de générer les jetons. Étant donné que la réponse utilise la requête pour le contexte, il n'est pas possible de modifier le comportement de la manière dont le modèle cesse de générer des jetons.
|
category |
Catégorie de sécurité pour laquelle configurer un seuil. Les valeurs acceptées incluent les suivantes :
Cliquer pour développer les catégories de sécurité
|
probability |
Niveaux de probabilité de préjudice dans le contenu.
|
blocked |
Une option booléenne associée à un attribut de sécurité qui indique si l'entrée ou la sortie du modèle a été bloquée. |
startIndex |
Entier qui spécifie l'emplacement du début de la citation dans le fichier content .
|
endIndex |
Entier qui spécifie l'emplacement de la fin de la citation dans le fichier content .
|
url |
URL de la source d'une citation. Une source d'URL peut être un site Web d'actualités ou un dépôt GitHub. |
title |
Titre de la source d'une citation. Il peut s'agir, par exemple, du titre d'un article d'actualité ou d'un livre. |
license |
Licence associée à une citation. |
publicationDate |
Date à laquelle une citation a été publiée. Ses formats valides sont YYYY , YYYY-MM et YYYY-MM-DD .
|
promptTokenCount |
Nombre de jetons dans la requête. |
candidatesTokenCount |
Nombre de jetons dans la ou les réponses. |
totalTokenCount |
Nombre de jetons dans la requête et la ou les réponses. |
Examples
Réponse textuelle sans streaming
Générer une réponse de modèle sans streaming à partir d'une entrée de texte.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID
: l'ID de votre projet.LOCATION
: région dans laquelle traiter la requête.MODEL_ID
: ID du modèle que vous souhaitez utiliser (par exemple,gemini-1.5-flash-001
). Consultez la liste des modèles compatibles.TEXT
: instructions textuelles à inclure dans la requête.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Corps JSON de la requête :
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }
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
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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#
REST (OpenAI)
Vous pouvez appeler l'API Inference à l'aide de la bibliothèque OpenAI. Pour en savoir plus, consultez la page Appeler des modèles Vertex AI à l'aide de la bibliothèque OpenAI.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : l'ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- MODEL_ID : nom du modèle à utiliser.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Corps JSON de la requête :
{ "model": "google/MODEL_ID", "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }
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
, puis exécutez la commande suivante :
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Vous pouvez appeler l'API Inference à l'aide de la bibliothèque OpenAI. Pour en savoir plus, consultez la page Appeler des modèles Vertex AI à l'aide de la bibliothèque OpenAI.
Réponse multimodale en streaming
Générez une réponse de modèle non en streaming à partir d'une entrée multimodale, telle qu'un texte et une image.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID
: l'ID de votre projet.LOCATION
: région dans laquelle traiter la requête.MODEL_ID
: ID du modèle que vous souhaitez utiliser (par exemple,gemini-1.5-flash-001
). Consultez la liste des modèles compatibles.TEXT
: instructions textuelles à inclure dans la requête.FILE_URI
: URI Cloud Storage du fichier stockant les donnéesMIME_TYPE
: type MIME IANA des données.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Corps JSON de la requête :
{ "contents": [{ "role": "user", "parts": [ { "text": "TEXT" }, { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } } ] }] }
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
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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#
REST (OpenAI)
Vous pouvez appeler l'API Inference à l'aide de la bibliothèque OpenAI. Pour en savoir plus, consultez la page Appeler des modèles Vertex AI à l'aide de la bibliothèque OpenAI.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : l'ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- MODEL_ID : nom du modèle à utiliser.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Corps JSON de la requête :
{ "model": "google/MODEL_ID", "messages": [{ "role": "user", "content": [ { "type": "text", "text": "Describe the following image:" }, { "type": "image_url", "image_url": { "url": "gs://generativeai-downloads/images/character.jpg" } } ] }] }
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
, puis exécutez la commande suivante :
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Vous pouvez appeler l'API Inference à l'aide de la bibliothèque OpenAI. Pour en savoir plus, consultez la page Appeler des modèles Vertex AI à l'aide de la bibliothèque OpenAI.
Réponse de texte en streaming
Générer une réponse de modèle en streaming à partir d'une entrée de texte.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID
: l'ID de votre projet.LOCATION
: région dans laquelle traiter la requête.MODEL_ID
: ID du modèle que vous souhaitez utiliser (par exemple,gemini-1.5-flash-001
). Consultez la liste des modèles compatibles.TEXT
: instructions textuelles à inclure dans la requête.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Corps JSON de la requête :
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }
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
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Java
Accéder
REST (OpenAI)
Vous pouvez appeler l'API Inference à l'aide de la bibliothèque OpenAI. Pour en savoir plus, consultez la page Appeler des modèles Vertex AI à l'aide de la bibliothèque OpenAI.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : l'ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- MODEL_ID : nom du modèle à utiliser.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Corps JSON de la requête :
{ "model": "google/MODEL_ID", "stream": true, "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }
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
, puis exécutez la commande suivante :
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Vous pouvez appeler l'API Inference à l'aide de la bibliothèque OpenAI. Pour en savoir plus, consultez la page Appeler des modèles Vertex AI à l'aide de la bibliothèque OpenAI.
Réponse multimodale en streaming
Générer une réponse de modèle en streaming à partir d'une entrée multimodale, telle qu'un texte et une image.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID
: l'ID de votre projet.LOCATION
: région dans laquelle traiter la requête.MODEL_ID
: ID du modèle que vous souhaitez utiliser (par exemple,gemini-1.5-flash-001
). Consultez la liste des modèles compatibles.TEXT
: instructions textuelles à inclure dans la requête.FILE_URI1
: URI Cloud Storage du fichier stockant les donnéesMIME_TYPE1
: type MIME IANA des données.FILE_URI2
: URI Cloud Storage du fichier stockant les donnéesMIME_TYPE2
: type MIME IANA des données.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Corps JSON de la requête :
{ "contents": [{ "role": "user", "parts": [ { "text": "TEXT" }, { "fileData": { "fileUri": "FILE_URI1", "mimeType": "MIME_TYPE1" } }, { "fileData": { "fileUri": "FILE_URI2", "mimeType": "MIME_TYPE2" } } ] }] }
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
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Java
Accéder
REST (OpenAI)
Vous pouvez appeler l'API Inference à l'aide de la bibliothèque OpenAI. Pour en savoir plus, consultez la page Appeler des modèles Vertex AI à l'aide de la bibliothèque OpenAI.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : l'ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- MODEL_ID : nom du modèle à utiliser.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Corps JSON de la requête :
{ "model": "google/MODEL_ID", "stream": true, "messages": [{ "role": "user", "content": [ { "type": "text", "text": "Describe the following image:" }, { "type": "image_url", "image_url": { "url": "gs://generativeai-downloads/images/character.jpg" } } ] }] }
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
, puis exécutez la commande suivante :
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Vous pouvez appeler l'API Inference à l'aide de la bibliothèque OpenAI. Pour en savoir plus, consultez la page Appeler des modèles Vertex AI à l'aide de la bibliothèque OpenAI.
Versions de modèle
Pour utiliser la version mise à jour automatiquement, spécifiez le nom du modèle sans le numéro de version final, par exemple gemini-1.5-flash
au lieu de gemini-1.5-flash-001
.
Pour en savoir plus, consultez la page Versions et cycle de vie des modèles Gemini.
Étape suivante
- Apprenez-en plus sur l'API Gemini.
- Apprenez-en plus sur les Appels de fonctions.
- Apprenez-en plus sur les Réponses ancrées pour les modèles Gemini.