Ce document explique comment créer un embedding de texte à l'aide de l'API Text embeddings de Vertex AI.
Les embeddings de texte sont des représentations vectorielles denses de texte. Par exemple, le modèle gemini-embedding-001 génère des vecteurs à 3 072 dimensions pour un texte donné. Ces embeddings vectoriels denses sont créés à l'aide de méthodes de deep learning semblables à celles utilisées par les grands modèles de langage.
Contrairement aux vecteurs creux qui mappent les mots à des nombres, les vecteurs denses sont conçus pour représenter la signification sémantique du texte. L'avantage principal de l'utilisation d'embeddings vectoriels denses est la possibilité d'effectuer une recherche sémantique. Au lieu de rechercher des correspondances directes de mots ou de syntaxe, vous pouvez rechercher des passages de texte correspondant au sens de votre requête, même si les passages n'utilisent pas la même formulation.
Les vecteurs d'embedding sont normalisés. Vous pouvez donc utiliser la similarité cosinus, le produit scalaire ou la distance euclidienne pour obtenir les mêmes classements de similarité.
- Pour en savoir plus sur les embeddings, consultez la présentation des API d'embeddings.
- Pour en savoir plus sur les modèles d'embedding textuel, consultez Embeddings textuels.
- Pour en savoir plus sur les langues compatibles avec chaque modèle d'embedding, consultez Langues de texte compatibles.

Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Vertex AI API.
- Choisissez un type de tâche pour votre job d'embeddings.
- Pour en savoir plus sur les limites de débit, consultez Limites de débit de l'IA générative sur Vertex AI.
- Pour obtenir des prédictions par lots pour les embeddings, consultez Obtenir des prédictions d'embeddings textuels par lots.
- Pour en savoir plus sur les embeddings multimodaux, consultez Obtenir des embeddings multimodaux.
- Pour régler un embedding, consultez Régler les embeddings textuels.
- Pour en savoir plus sur les recherches concernant
text-embedding-005
ettext-multilingual-embedding-002
, consultez l'étude Gecko : embeddings textuels polyvalents distillés à partir de grands modèles de langage.
Modèles compatibles
Vous pouvez obtenir des embeddings textuels à l'aide des modèles suivants :
Nom du modèle | Description | Dimensions de sortie | Longueur maximale de la séquence | Langues de texte compatibles |
---|---|---|---|---|
gemini-embedding-001 |
Performances de pointe pour les tâches en anglais, multilingues et de code. Il unifie les modèles spécialisés précédents, tels que text-embedding-005 et text-multilingual-embedding-002 , et offre de meilleures performances dans leurs domaines respectifs. Pour en savoir plus, consultez notre rapport technique. |
Jusqu'à 3 072 | 2 048 jetons | Langues de texte disponibles |
text-embedding-005 |
Spécialisé dans les tâches en anglais et de code. | Jusqu'à 768 | 2 048 jetons | Anglais |
text-multilingual-embedding-002 |
Spécialisé dans les tâches multilingues. | Jusqu'à 768 | 2 048 jetons | Langues de texte disponibles |
Pour une qualité d'embedding supérieure, gemini-embedding-001
est notre grand modèle conçu pour offrir les meilleures performances. Notez que gemini-embedding-001
accepte une instance par requête.
Obtenir des embeddings textuels pour un extrait de texte
Vous pouvez obtenir des embedding textuels pour un extrait de texte à l'aide de l'API Vertex AI ou du SDK Vertex AI pour Python.
Limites d'API
Pour chaque requête, vous êtes limité à 250 textes d'entrée pour les modèles non Gemini et à un seul texte d'entrée pour les modèles Gemini Embedding.
L'API a une limite maximale de jetons d'entrée de 20 000.
Les entrées qui dépassent cette limite entraînent une erreur 400. Chaque texte d'entrée individuel est également limité à 2 048 jetons. Tout excès est tronqué en mode silencieux. Vous pouvez également désactiver la troncature en mode silencieux en définissant autoTruncate
sur false
.
Pour en savoir plus, consultez Limites des embeddings de texte.
Choisir une dimension d'embedding
Par défaut, tous les modèles produisent un vecteur d'embedding complet. Pour gemini-embedding-001
, ce vecteur comporte 3 072 dimensions, et les autres modèles produisent des vecteurs à 768 dimensions. Toutefois, en utilisant le paramètre output_dimensionality
, les utilisateurs peuvent contrôler la taille du vecteur d'intégration de sortie.
En sélectionnant une dimensionnalité de sortie plus petite, vous pouvez économiser de l'espace de stockage et augmenter l'efficacité de calcul pour les applications en aval, tout en sacrifiant peu de qualité.
Les exemples suivants utilisent le modèle gemini-embedding-001
.
Python
Installer
pip install --upgrade google-genai
Pour en savoir plus, lisez la documentation de référence du SDK.
Définissez les variables d'environnement pour utiliser le SDK Gen AI avec Vertex AI :
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Ajouter un embedding à une base de données vectorielle
Une fois que vous avez généré votre embedding, vous pouvez en ajouter à une base de données vectorielle, telle que Vector Search. Cela permet une récupération à faible latence, ce qui devient essentiel à mesure que la taille de vos données augmente.
Pour en savoir plus sur Vector Search, consultez Présentation de Vector Search.