Pour obtenir plus d'informations conceptuelles, consultez la page Représentations vectorielles continues multimodales.
Modèles compatibles :
Modèle | Code |
---|---|
Représentations vectorielles continues multimodales | multimodalembedding@001 |
Exemple de syntaxe
Syntaxe permettant d'envoyer une requête API de représentations vectorielles continues multimodales.
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}:predict \ -d '{ "instances": [ ... ], }'
Python
from vertexai.vision_models import MultiModalEmbeddingModel model = MultiModalEmbeddingModel.from_pretrained("multimodalembedding") model.get_embeddings(...)
Liste des paramètres
Consultez des exemples pour en savoir plus sur la mise en œuvre.
Corps de la requête
Paramètres | |
---|---|
|
Facultatif : Texte pour lequel générer des représentations vectorielles continues. |
|
Facultatif : Image pour laquelle générer des représentations vectorielles continues. |
|
Facultatif : Segment vidéo pour lequel générer des représentations vectorielles continues. |
|
Facultatif : Dimension de la représentation vectorielle continue, incluse dans la réponse. S'applique uniquement à la saisie de texte et d'images. Valeurs acceptées: |
Images
Paramètres | |
---|---|
|
Facultatif : Octets d'image encodés dans une chaîne en base64. Doit être défini sur |
|
Facultatif. Emplacement Cloud Storage de l'image pour effectuer la représentation vectorielle continue. |
|
Facultatif. Type MIME du contenu de l'image. Valeurs acceptées : |
VideoSegmentConfig
Paramètres | |
---|---|
|
Facultatif : Décalage de début de la séquence vidéo en secondes. Si aucune valeur n'est spécifiée, elle est calculée avec |
|
Facultatif : Décalage de fin de la séquence vidéo en secondes. Si aucune valeur n'est spécifiée, elle est calculée avec |
|
Facultatif. L'intervalle de la vidéo dans laquelle la représentation vectorielle continue sera générée. La valeur minimale de |
Vidéo
Paramètres | |
---|---|
|
Facultatif : Octets vidéo encodés dans une chaîne en base64. |
|
Facultatif : Emplacement Cloud Storage de la vidéo sur laquelle effectuer la représentation vectorielle continue. |
|
Facultatif : Configuration de la séquence vidéo. |
Examples
Générer des représentations vectorielles continues à partir d'une image
Utilisez l'exemple suivant pour générer des représentations vectorielles continues pour une image.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région de votre projet. Par exemple,
us-central1
,europe-west2
ouasia-northeast3
. Pour obtenir la liste des régions disponibles, consultez la section Emplacements IA générative sur Vertex AI. - PROJECT_ID : L'ID de votre projet Google Cloud.
- TEXT : texte cible pour lequel vous souhaitez obtenir des représentations vectorielles continues. Par exemple,
a cat
. - B64_ENCODED_IMG : l'image cible pour laquelle vous souhaitez obtenir des représentations vectorielles continues. L'image doit être spécifiée en tant que chaîne d'octets encodée en base64.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/multimodalembedding@001:predict
Corps JSON de la requête :
{ "instances": [ { "text": "TEXT", "image": { "bytesBase64Encoded": "B64_ENCODED_IMG" } } ] }
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/multimodalembedding@001:predict"
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/multimodalembedding@001:predict" | Select-Object -Expand Content
{ "predictions": [ { "textEmbedding": [ 0.010477379, -0.00399621, 0.00576670747, [...] -0.00823613815, -0.0169572588, -0.00472954148 ], "imageEmbedding": [ 0.00262696808, -0.00198890246, 0.0152047109, -0.0103145819, [...] 0.0324628279, 0.0284924973, 0.011650892, -0.00452344026 ] } ], "deployedModelId": "DEPLOYED_MODEL_ID" }
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Générer des représentations vectorielles continues à partir d'un cas d'utilisation vidéo
Utilisez l'exemple suivant pour obtenir des représentations vectorielles continues pour du contenu vidéo.
REST
L'exemple suivant utilise une vidéo située dans Cloud Storage. Vous pouvez également utiliser le champ video.bytesBase64Encoded
pour fournir une représentation de la vidéo sous forme de chaîne encodée en base64.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région de votre projet. Par exemple,
us-central1
,europe-west2
ouasia-northeast3
. Pour obtenir la liste des régions disponibles, consultez la section Emplacements IA générative sur Vertex AI. - PROJECT_ID : L'ID de votre projet Google Cloud.
- VIDEO_URI : URI Cloud Storage de la vidéo cible pour laquelle vous souhaitez obtenir des représentations vectorielles continues.
Par exemple,
gs://my-bucket/embeddings/supermarket-video.mp4
.Vous pouvez également fournir la vidéo en tant que chaîne d'octets encodée en base64 :
[...] "video": { "bytesBase64Encoded": "B64_ENCODED_VIDEO" } [...]
videoSegmentConfig
(START_SECOND, END_SECOND, INTERVAL_SECONDS). Facultatif. Définit les séquences vidéo spécifiques (en secondes) pour lesquelles les représentations vectorielles continues sont générées.Exemple :
[...] "videoSegmentConfig": { "startOffsetSec": 10, "endOffsetSec": 60, "intervalSec": 10 } [...]
L'utilisation de cette configuration spécifie la présence de données vidéo de la 10e à la 60e seconde, et génère des représentations vectorielles continues pour les intervalles de 10 secondes suivants : [10, 20), [20, 30), [30, 40), [40, 50), [50, 60). Cet intervalle vidéo (
"intervalSec": 10
) est défini sur le mode de représentation vectorielle continue de vidéo Standard. L'utilisateur est facturé au tarif en mode Standard.Si vous omettez
videoSegmentConfig
, le service utilise les valeurs par défaut suivantes :"videoSegmentConfig": { "startOffsetSec": 0, "endOffsetSec": 120, "intervalSec": 16 }
. Cet intervalle vidéo ("intervalSec": 16
) est défini sur le mode de représentation vectorielle continue de vidéo Essentiel. L'utilisateur est facturé au tarif en mode Essentiel.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/multimodalembedding@001:predict
Corps JSON de la requête :
{ "instances": [ { "video": { "gcsUri": "VIDEO_URI", "videoSegmentConfig": { "startOffsetSec": START_SECOND, "endOffsetSec": END_SECOND, "intervalSec": INTERVAL_SECONDS } } } ] }
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/multimodalembedding@001:predict"
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/multimodalembedding@001:predict" | Select-Object -Expand Content
Réponse (sept secondes de vidéo, pas d'élément videoSegmentConfig
spécifié) :
{ "predictions": [ { "videoEmbeddings": [ { "endOffsetSec": 7, "embedding": [ -0.0045467657, 0.0258095954, 0.0146885719, 0.00945400633, [...] -0.0023291884, -0.00493789, 0.00975185353, 0.0168156829 ], "startOffsetSec": 0 } ] } ], "deployedModelId": "DEPLOYED_MODEL_ID" }
Réponse (59 secondes de vidéo, avec la configuration de séquence vidéo suivante : "videoSegmentConfig": { "startOffsetSec": 0, "endOffsetSec": 60, "intervalSec": 10 }
) :
{ "predictions": [ { "videoEmbeddings": [ { "endOffsetSec": 10, "startOffsetSec": 0, "embedding": [ -0.00683252793, 0.0390476175, [...] 0.00657121744, 0.013023301 ] }, { "startOffsetSec": 10, "endOffsetSec": 20, "embedding": [ -0.0104404651, 0.0357737206, [...] 0.00509833824, 0.0131902946 ] }, { "startOffsetSec": 20, "embedding": [ -0.0113538112, 0.0305239167, [...] -0.00195809244, 0.00941874553 ], "endOffsetSec": 30 }, { "embedding": [ -0.00299320649, 0.0322436653, [...] -0.00993082579, 0.00968887936 ], "startOffsetSec": 30, "endOffsetSec": 40 }, { "endOffsetSec": 50, "startOffsetSec": 40, "embedding": [ -0.00591270532, 0.0368893594, [...] -0.00219071587, 0.0042470959 ] }, { "embedding": [ -0.00458270218, 0.0368121453, [...] -0.00317760976, 0.00595594104 ], "endOffsetSec": 59, "startOffsetSec": 50 } ] } ], "deployedModelId": "DEPLOYED_MODEL_ID" }
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Cas d'utilisation avancé
L'exemple suivant permet d'obtenir des représentations vectorielles continues pour du contenu vidéo, du texte et des images.
Pour la représentation vectorielle continue de vidéos, vous pouvez spécifier la séquence vidéo et la densité d'intégration.
REST
L'exemple ci-dessous utilise des données de type image, texte et vidéo. Vous pouvez utiliser n'importe quelle combinaison de ces types de données dans le corps de votre requête.
Cet exemple utilise une vidéo située dans Cloud Storage. Vous pouvez également utiliser le champ video.bytesBase64Encoded
pour fournir une représentation de la vidéo sous forme de chaîne encodée en base64.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région de votre projet. Par exemple,
us-central1
,europe-west2
ouasia-northeast3
. Pour obtenir la liste des régions disponibles, consultez la section Emplacements IA générative sur Vertex AI. - PROJECT_ID : L'ID de votre projet Google Cloud.
- TEXT : texte cible pour lequel vous souhaitez obtenir des représentations vectorielles continues. Par exemple,
a cat
. - IMAGE_URI : URI Cloud Storage de la vidéo cible pour laquelle vous souhaitez obtenir des représentations vectorielles continues.
Par exemple,
gs://my-bucket/embeddings/supermarket-img.png
.Vous pouvez également fournir l'image en tant que chaîne d'octets encodée en base64 :
[...] "image": { "bytesBase64Encoded": "B64_ENCODED_IMAGE" } [...]
- VIDEO_URI : URI Cloud Storage de la vidéo cible pour laquelle vous souhaitez obtenir des représentations vectorielles continues.
Par exemple,
gs://my-bucket/embeddings/supermarket-video.mp4
.Vous pouvez également fournir la vidéo en tant que chaîne d'octets encodée en base64 :
[...] "video": { "bytesBase64Encoded": "B64_ENCODED_VIDEO" } [...]
videoSegmentConfig
(START_SECOND, END_SECOND, INTERVAL_SECONDS). Facultatif. Définit les séquences vidéo spécifiques (en secondes) pour lesquelles les représentations vectorielles continues sont générées.Exemple :
[...] "videoSegmentConfig": { "startOffsetSec": 10, "endOffsetSec": 60, "intervalSec": 10 } [...]
L'utilisation de cette configuration spécifie la présence de données vidéo de la 10e à la 60e seconde, et génère des représentations vectorielles continues pour les intervalles de 10 secondes suivants : [10, 20), [20, 30), [30, 40), [40, 50), [50, 60). Cet intervalle vidéo (
"intervalSec": 10
) est défini sur le mode de représentation vectorielle continue de vidéo Standard. L'utilisateur est facturé au tarif en mode Standard.Si vous omettez
videoSegmentConfig
, le service utilise les valeurs par défaut suivantes :"videoSegmentConfig": { "startOffsetSec": 0, "endOffsetSec": 120, "intervalSec": 16 }
. Cet intervalle vidéo ("intervalSec": 16
) est défini sur le mode de représentation vectorielle continue de vidéo Essentiel. L'utilisateur est facturé au tarif en mode Essentiel.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/multimodalembedding@001:predict
Corps JSON de la requête :
{ "instances": [ { "text": "TEXT", "image": { "gcsUri": "IMAGE_URI" }, "video": { "gcsUri": "VIDEO_URI", "videoSegmentConfig": { "startOffsetSec": START_SECOND, "endOffsetSec": END_SECOND, "intervalSec": INTERVAL_SECONDS } } } ] }
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/multimodalembedding@001:predict"
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/multimodalembedding@001:predict" | Select-Object -Expand Content
{ "predictions": [ { "textEmbedding": [ 0.0105433334, -0.00302835181, 0.00656806398, 0.00603460241, [...] 0.00445805816, 0.0139605571, -0.00170318608, -0.00490092579 ], "videoEmbeddings": [ { "startOffsetSec": 0, "endOffsetSec": 7, "embedding": [ -0.00673126569, 0.0248149596, 0.0128901172, 0.0107588246, [...] -0.00180952181, -0.0054573305, 0.0117037306, 0.0169312079 ] } ], "imageEmbedding": [ -0.00728622358, 0.031021487, -0.00206603738, 0.0273937676, [...] -0.00204976718, 0.00321615417, 0.0121978866, 0.0193375275 ] } ], "deployedModelId": "DEPLOYED_MODEL_ID" }
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Étapes suivantes
Pour obtenir une documentation détaillée, consultez les pages suivantes :