Utilisez l'API Inference pour générer des requêtes 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…
Pour en savoir plus, consultez les pages suivantes :
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 |
Limites :
Si vous fournissez beaucoup d'images, la latence peut être élevée.
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": [{ ... }], "generation_config": { ... }, "safety_settings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) generation_config = GenerationConfig(...) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...})
Flux
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": [{ ... }], "generation_config": { ... }, "safety_settings": { ... } ... }'
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 la mise en œuvre.
Corps de la requête
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 : Instructions système fournies par l'utilisateur pour le modèle. Remarque : Seul |
|
Facultatif. Consultez la page API d'appel de fonction. |
|
Facultatif. Consultez la page API d'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. |
Contenus
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. |
Part
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. |
|
Facultatif : Données stockées dans un fichier. |
|
Facultatif : Il contient une chaîne représentant le champ Consultez la page API d'appel de fonction. |
|
Facultatif : Résultat d'une Consultez la page API d'appel de fonction. |
|
Facultatif : Métadonnées de vidéo. 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 | |
---|---|
|
Type MIME IANA des données. |
|
Octets bruts |
FileData
Données basées sur l'URI.
Paramètres | |
---|---|
mime_type |
Type MIME IANA des données. |
file_uri |
chaîne URI Cloud Storage du fichier stockant les données |
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 API d'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 : La catégorie de préjudice. |
|
Facultatif : Seuil de blocage de préjudice. |
|
Facultatif : Nombre maximal de termes influents qui contribuent le plus aux scores de sécurité, ce qui peut entraîner un blocage potentiel. |
|
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 : Contrôle le caractère aléatoire des prédictions. |
|
Facultatif : Si spécifié, l'échantillonnage du noyau est utilisé. |
|
Facultatif : si spécifié, l'échantillonnage top-k est utilisé. |
|
Facultatif : Nombre de candidats à générer. |
|
Facultatif : int Nombre maximal de jetons de sortie à générer par message. |
|
Facultatif : Arrêter les séquences. |
|
Facultatif : Pénalités positives. |
|
Facultatif : Pénalité de fréquence. |
|
Facultatif : Type MIME de la réponse de sortie du texte candidat généré. Type MIME pris en charge :
Il s'agit d'une fonctionnalité en preview. |
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.
- 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#
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.
- TEXT : instructions textuelles à inclure dans la requête.
- FILE_URI : URI Cloud Storage du fichier stockant les données
- MIME_TYPE : type MIME TIANA 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" }, { "file_data": {"file_uri": "FILE_URI", "MIME_TYPE"} }, { "file_data": {"file_uri": "FILE_URI", "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#
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.
- 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
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.
- 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
Étapes suivantes
- 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.