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, des vidéos et plus encore.
Créer un compte Google Cloud pour commencer
Pour commencer à utiliser l'API Gemini dans Vertex AI, 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 des exemples de requêtes.
Lorsque vous êtes prêt, consultez le guide de démarrage rapide de l'API Gemini dans Vertex AI pour apprendre à envoyer une requête à l'API Gemini dans Vertex AI à l'aide d'un SDK de langage de programmation ou de l'API REST.
Modèles compatibles
Tous les modèles Gemini sont compatibles avec la génération de contenu.
Liste des paramètres
Consultez des exemples pour en savoir plus sur l'implémentation.
Corps de la requête
{ "cachedContent": string, "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 }, "fps": double } } ] } ], "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, "seed": integer, "responseLogprobs": boolean, "logprobs": integer, "audioTimestamp": boolean }, "labels": { string: string } }
Le corps de la requête contient des données avec les paramètres suivants :
Paramètres | |
---|---|
| Facultatif : Nom du contenu mis en cache utilisé comme contexte pour réaliser la prédiction. Format : |
|
Obligatoire : 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 d'améliorer ses performances. Par exemple, "Réponds de manière aussi concise que possible" ou "N'utilise pas de termes techniques dans ta réponse". Les chaînes Le champ |
|
Facultatif. Portion 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 Appel de fonction. |
|
Facultatif. Consultez Appel de fonction. |
|
Facultatif : Paramètres de requête permettant de bloquer le contenu non sécurisé. Appliqué sur |
|
Facultatif : Paramètres de configuration de génération. |
|
Facultatif : Métadonnées que vous pouvez ajouter à l'appel d'API sous la forme de paires clé-valeur. |
contents
Type de données structurées de base comportant le contenu en plusieurs parties d'un message.
Cette classe comprend deux propriétés principales : role
et parts
. La propriété role
indique la personne qui produit le contenu, tandis que la propriété parts
contient plusieurs éléments, chacun représentant un segment de données dans un message.
Paramètres | |
---|---|
|
Identité de l'entité qui crée le message. Les valeurs suivantes sont acceptées :
La valeur |
|
Liste de parties ordonnées qui composent un seul message. Chaque partie peut avoir un type MIME IANA différent. Pour connaître les limites concernant les entrées, comme 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 comportant du contenu multimédia qui fait partie d'un message Content
en plusieurs parties.
Paramètres | |
---|---|
|
Facultatif : Requête textuelle ou extrait de code. |
|
Facultatif : Données intégrées dans des octets bruts. Pour |
|
Facultatif : Données stockées dans un fichier. |
|
Facultatif : Contient une chaîne représentant le champ Consultez Appel de fonction. |
|
Facultatif : Résultat d'un Consultez Appel de fonction. |
|
Facultatif : Pour les entrées vidéo, décalage de début et de fin de la vidéo au format Duration et fréquence d'images de la vidéo . Par exemple, pour spécifier un extrait de 10 secondes commençant à 1:00 avec une fréquence d'images de 10 images par seconde, définissez les valeurs suivantes :
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 :Cliquez pour développer les types MIME.
Pour Les fichiers texte doivent être encodés au format UTF-8. Le contenu du fichier texte est comptabilisé dans la limite de jetons. Aucune limite ne s'applique à la résolution d'image. |
|
Encodage base64 de l'image, du fichier PDF 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 ( Limite de taille : 20 Mo |
FileData
Données d'URI ou d'URL Web.
Paramètres | |
---|---|
|
Type MIME IANA des données. |
|
URI ou URL du fichier à inclure dans la requête. Les valeurs acceptées incluent les suivantes :
Lorsque vous spécifiez un |
functionCall
functionCall
prédit renvoyé 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 Appel de fonction. |
functionResponse
Résultat d'un FunctionCall
contenant une chaîne qui représente 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'un FunctionCall
effectué 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. |
|
Facultatif :
Fréquence d'images de la vidéo envoyée au modèle. En l'absence de spécification, la valeur par défaut est |
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 :
Cliquez 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 "incitation à la haine". |
|
La catégorie de préjudice est "contenu dangereux". |
|
La catégorie de préjudice est "harcèlement". |
|
La catégorie de préjudice est "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 blocages). |
|
Ne rien bloquer. |
|
Désactive la sécurité si toutes les catégories sont désactivées. |
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.
Pour en savoir plus, consultez Paramètres de génération de contenu. |
|
Facultatif : Si cette valeur est spécifiée, 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 : Nombre de variantes de réponse à renvoyer. Pour chaque requête, les jetons de sortie de tous les candidats vous sont facturés, mais vous ne payez qu'une seule fois pour les jetons d'entrée. La spécification de plusieurs candidats est une fonctionnalité en preview pour
|
|
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. Pour en savoir plus, consultez Paramètres de génération de contenu. |
|
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 est tronquée au niveau de la première occurrence.
Les chaînes sont sensibles à la casse.
La liste ne peut pas contenir plus de cinq éléments. Pour en savoir plus, consultez Paramètres de génération de contenu. |
|
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 |
|
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. La valeur maximale de |
|
Facultatif : Type MIME de la réponse de sortie du texte candidat généré. Les types MIME suivants sont acceptés :
Spécifiez le type de réponse approprié pour éviter les comportements inattendus. Par exemple, si vous avez besoin d'une réponse au format JSON, spécifiez text/plain n'est pas compatible avec responseSchema . |
|
Facultatif : schema Schéma que le texte candidat généré doit suivre. Pour en savoir plus, consultez Contrôler la sortie générée. Pour utiliser ce paramètre, vous devez spécifier un type MIME compatible autre que |
|
Facultatif : Lorsque la graine est fixée à une valeur spécifique, le modèle s'efforce de fournir la même réponse pour les requêtes répétées. La sortie déterministe n'est pas garantie. De plus, la modification du modèle ou des paramètres, comme la température, peut entraîner des variations dans la réponse, même si vous utilisez la même valeur de graine. Par défaut, une valeur de graine aléatoire est utilisée. |
|
Facultatif : Si la valeur est "true", renvoie les probabilités logarithmiques des jetons choisis par le modèle à chaque étape. Par défaut, ce paramètre est défini sur |
|
Facultatif :
Renvoie les probabilités logarithmiques des jetons de meilleurs candidats à chaque étape de génération. Il est possible que le jeton choisi par le modèle ne soit pas le jeton du meilleur candidat à chaque étape. Spécifiez le nombre de candidats à renvoyer à l'aide d'une valeur entière comprise entre Vous devez activer |
|
Facultatif : Disponible pour les modèles suivants :
Active la compréhension des codes temporels pour les fichiers contenant uniquement des données audio. 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 } } ] }, "avgLogprobs": double, "logprobsResult": { "topCandidates": [ { "candidates": [ { "token": string, "logProbability": float } ] } ], "chosenCandidates": [ { "token": string, "logProbability": float } ] } } ], "usageMetadata": { "promptTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer }, "modelVersion": string }
Élément de réponse | Description |
---|---|
modelVersion |
Modèle et version utilisés pour la génération. Exemple : gemini-2.0-flash-lite-001 . |
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 par lequel 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 : Cliquez pour développer les catégories de sécurité.
|
probability |
Niveaux de probabilité de préjudice dans le contenu.
|
blocked |
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 où commence une citation dans le fichier content . La valeur startIndex est exprimée en octets et calculée à partir de la réponse encodée en UTF-8.
|
endIndex |
Entier qui spécifie où finit une citation dans le fichier content . La valeur endIndex est exprimée en octets et calculée à partir de la réponse encodée en UTF-8.
|
url |
URL de la source d'une citation. Une source 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 de presse ou d'un livre. |
license |
Licence associée à une citation. |
publicationDate |
Date à laquelle une citation a été publiée. Les formats valides sont YYYY , YYYY-MM et YYYY-MM-DD .
|
avgLogprobs |
Probabilité logarithmique moyenne du candidat. |
logprobsResult |
Renvoie les jetons des meilleurs candidats (topCandidates ) et les jetons choisis (chosenCandidates ) à chaque étape. |
token |
Les modèles d'IA générative décomposent les données textuelles en jetons à traiter. Il peut s'agir de caractères, de mots ou d'expressions. |
logProbability |
Valeur de probabilité logarithmique qui indique le niveau de confiance du modèle concernant un jeton particulier. |
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. |
Exemples
Génération de texte
Générez une réponse textuelle à partir d'une entrée de texte.
SDK Gen AI pour Python
Python (OpenAI)
Vous pouvez appeler l'API Inference à l'aide de la bibliothèque OpenAI. Pour en savoir plus, consultez Appeler des modèles Vertex AI à l'aide de la bibliothèque OpenAI.
Go
Utiliser une requête multimodale
Générez une réponse textuelle à partir d'une entrée multimodale, telle que du texte et une image.
SDK Gen AI pour Python
Python (OpenAI)
Vous pouvez appeler l'API Inference à l'aide de la bibliothèque OpenAI. Pour en savoir plus, consultez Appeler des modèles Vertex AI à l'aide de la bibliothèque OpenAI.
Go
Réponse de texte en streaming
Générez une réponse de modèle en streaming à partir d'une entrée de texte.
SDK Gen AI pour Python
Python (OpenAI)
Vous pouvez appeler l'API Inference à l'aide de la bibliothèque OpenAI. Pour en savoir plus, consultez Appeler des modèles Vertex AI à l'aide de la bibliothèque OpenAI.
Go
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-2.0-flash
au lieu de gemini-2.0-flash-001
.
Pour en savoir plus, consultez Versions et cycle de vie des modèles Gemini.
Étapes suivantes
- Apprenez-en plus sur l'API Gemini dans Vertex AI.
- Apprenez-en plus sur l'appel de fonction.
- Apprenez-en plus sur l'ancrage de réponses pour les modèles Gemini.