L'API d'embeddings textuels convertit des données textuelles en vecteurs numériques. Ces représentations vectorielles sont conçues pour capturer la signification sémantique et le contexte des mots qu'elles représentent.
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.
Syntaxe
curl
PROJECT_ID = PROJECT_ID REGION = us-central1 MODEL_ID = MODEL_ID curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/publishers/google/models/${MODEL_ID}:predict -d \ '{ "instances": [ ... ], "parameters": { ... } }'
Python
PROJECT_ID = PROJECT_ID REGION = us-central1 MODEL_ID = MODEL_ID import vertexai from vertexai.language_models import TextEmbeddingModel vertexai.init(project=PROJECT_ID, location=REGION) model = TextEmbeddingModel.from_pretrained(MODEL_ID) embeddings = model.get_embeddings(...)
Liste des paramètres
Champs de premier niveau | |
---|---|
|
Liste d'objets contenant les champs suivants :
|
|
Objet contenant les champs suivants :
|
instance champs |
|
---|---|
|
Texte pour lequel vous souhaitez générer des embeddings. |
|
Facultatif : Utilisé pour transmettre l'application en aval prévue afin d'aider le modèle à produire de meilleurs embeddings. Si vous ne renseignez pas ce champ, la valeur par défaut est
Pour en savoir plus sur les types de tâches, consultez Choisir un type de tâche d'embedding. |
|
Facultatif : Utilisé pour aider le modèle à produire de meilleurs embeddings.
Valide uniquement avec |
task_type
Le tableau suivant décrit les valeurs du paramètre task_type
et leurs cas d'utilisation :
task_type |
Description |
---|---|
RETRIEVAL_QUERY |
Spécifie que le texte donné est une requête dans un contexte de recherche ou de récupération. Utilisez RETRIEVAL_DOCUMENT pour le côté document. |
RETRIEVAL_DOCUMENT |
Spécifie que le texte donné est un document dans un contexte de recherche ou de récupération. |
SEMANTIC_SIMILARITY |
Spécifie que le texte donné est utilisé pour la similarité textuelle sémantique (STS). |
CLASSIFICATION |
Spécifie que l'embedding est utilisé pour la classification. |
CLUSTERING |
Spécifie que l'embedding est utilisé pour le clustering. |
QUESTION_ANSWERING |
Spécifie que l'embedding de la requête est utilisé pour répondre à des questions. Utilisez RETRIEVAL_DOCUMENT pour le côté document. |
FACT_VERIFICATION |
Spécifie que l'embedding de la requête est utilisé pour la vérification de faits. Utilisez RETRIEVAL_DOCUMENT pour le côté document. |
CODE_RETRIEVAL_QUERY |
Spécifie que l'embedding de la requête est utilisé pour la récupération de code pour Java et Python. Utilisez RETRIEVAL_DOCUMENT pour le côté document. |
Tâches de récupération :
Requête : utilisez task_type=RETRIEVAL_QUERY
pour indiquer que le texte d'entrée est une requête de recherche.
Corpus : utilisez task_type=RETRIEVAL_DOCUMENT
pour indiquer que le texte d'entrée fait partie de la collection de documents en cours de recherche.
Tâches de similarité :
Similarité sémantique : utilisez task_type= SEMANTIC_SIMILARITY
pour les deux textes d'entrée afin d'évaluer leur similarité globale du point de vue du sens.
parameters champs |
|
---|---|
|
Facultatif : Si cette valeur est définie sur "true", le texte d'entrée est tronqué. Lorsque la valeur est "false", une erreur est renvoyée si le texte d'entrée dépasse la longueur maximale acceptée par le modèle. La valeur par défaut est "true". |
|
Facultatif : Permet de spécifier la taille de l'embedding de sortie. Si cette option est définie, les embeddings de sortie sont tronqués à la taille spécifiée. |
Corps de la requête
{
"instances": [
{
"task_type": "RETRIEVAL_DOCUMENT",
"title": "document title",
"content": "I would like embeddings for this text!"
},
]
}
Corps de la réponse
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
Éléments de réponse | |
---|---|
|
Liste d'objets contenant les champs suivants :
|
embeddings champs |
|
---|---|
|
Liste de |
|
Statistiques calculées à partir du texte d'entrée. Contient :
|
Exemple de réponse
{
"predictions": [
{
"embeddings": {
"values": [
0.0058424929156899452,
0.011848051100969315,
0.032247550785541534,
-0.031829461455345154,
-0.055369812995195389,
...
],
"statistics": {
"token_count": 4,
"truncated": false
}
}
}
]
}
Exemples
Intégrer une chaîne de texte
L'exemple suivant montre comment obtenir l'embedding d'une chaîne de texte.
REST
Une fois que vous avez configuré votre environnement, vous pouvez utiliser REST pour tester un prompt textuel. L'exemple suivant envoie une requête au point de terminaison du modèle de l'éditeur.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- TEXT : texte pour lequel vous souhaitez générer des embeddings. Limite : cinq textes de 2 048 jetons maximum par texte pour tous les modèles, à l'exception de
textembedding-gecko@001
. La longueur maximale de jeton d'entrée pourtextembedding-gecko@001
est de 3 072. Pourgemini-embedding-001
, chaque requête ne peut inclure qu'un seul texte d'entrée. Pour en savoir plus, consultez Limites des embeddings de texte. - AUTO_TRUNCATE : si la valeur est
false
, le texte dépassant la limite de jetons entraîne l'échec de la requête. La valeur par défaut esttrue
.
Méthode HTTP et URL :
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-embedding-001:predict
Corps JSON de la requête :
{ "instances": [ { "content": "TEXT"} ], "parameters": { "autoTruncate": AUTO_TRUNCATE } }
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-embedding-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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-embedding-001:predict" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON semblable à la suivante. Notez que values
a été tronqué pour gagner de la place.
- Utilisez la méthode
generateContent
pour demander que la réponse soit renvoyée une fois qu'elle a été entièrement générée. Pour réduire la perception de la latence auprès d'un public humain, affichez la réponse progressivement à mesure qu'elle est générée à l'aide de la méthodestreamGenerateContent
. - L'ID du modèle multimodal se trouve à la fin de l'URL avant la méthode (par exemple,
gemini-2.0-flash
). Cet exemple peut également s'appliquer à d'autres modèles.
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.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go décrites dans le guide de démarrage rapide de Vertex AI sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Go.
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 sur l'utilisation 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.
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 sur l'utilisation 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.
Langues de texte compatibles
Tous les modèles d'embedding textuel sont compatibles avec l'anglais et ont été évalués sur ce type de texte. Le modèle text-multilingual-embedding-002
est également compatible avec les langues suivantes et a été évalué avec celles-ci :
- Langues évaluées :
Arabic (ar)
,Bengali (bn)
,English (en)
,Spanish (es)
,German (de)
,Persian (fa)
,Finnish (fi)
,French (fr)
,Hindi (hi)
,Indonesian (id)
,Japanese (ja)
,Korean (ko)
,Russian (ru)
,Swahili (sw)
,Telugu (te)
,Thai (th)
,Yoruba (yo)
etChinese (zh)
. - Langues disponibles :
Afrikaans
,Albanian
,Amharic
,Arabic
,Armenian
,Azerbaijani
,Basque
,Belarusiasn
,Bengali
,Bulgarian
,Burmese
,Catalan
,Cebuano
,Chichewa
,Chinese
,Corsican
,Czech
,Danish
,Dutch
,English
,Esperanto
,Estonian
,Filipino
,Finnish
,French
,Galician
,Georgian
,German
,Greek
,Gujarati
,Haitian Creole
,Hausa
,Hawaiian
,Hebrew
,Hindi
,Hmong
,Hungarian
,Icelandic
,Igbo
,Indonesian
,Irish
,Italian
,Japanese
,Javanese
,Kannada
,Kazakh
,Khmer
,Korean
,Kurdish
,Kyrgyz
,Lao
,Latin
,Latvian
,Lithuanian
,Luxembourgish
,Macedonian
,Malagasy
,Malay
,Malayalam
,Maltese
,Maori
,Marathi
,Mongolian
,Nepali
,Norwegian
,Pashto
,Persian
,Polish
,Portuguese
,Punjabi
,Romanian
,Russian
,Samoan
,Scottish Gaelic
,Serbian
,Shona
,Sindhi
,Sinhala
,Slovak
,Slovenian
,Somali
,Sotho
,Spanish
,Sundanese
,Swahili
,Swedish
,Tajik
,Tamil
,Telugu
,Thai
,Turkish
,Ukrainian
,Urdu
,Uzbek
,Vietnamese
,Welsh
,West Frisian
,Xhosa
,Yiddish
,Yoruba
etZulu
.
Le modèle gemini-embedding-001
est compatible avec les langues suivantes :
Arabic
, Bengali
, Bulgarian
, Chinese (Simplified and Traditional)
, Croatian
, Czech
, Danish
, Dutch
, English
, Estonian
, Finnish
, French
, German
, Greek
, Hebrew
, Hindi
, Hungarian
, Indonesian
, Italian
, Japanese
, Korean
, Latvian
, Lithuanian
, Norwegian
, Polish
, Portuguese
, Romanian
, Russian
, Serbian
, Slovak
, Slovenian
, Spanish
, Swahili
, Swedish
, Thai
, Turkish
, Ukrainian
, Vietnamese
, Afrikaans
, Amharic
, Assamese
, Azerbaijani
, Belarusian
, Bosnian
, Catalan
, Cebuano
, Corsican
, Welsh
, Dhivehi
, Esperanto
, Basque
, Persian
, Filipino (Tagalog)
, Frisian
, Irish
, Scots Gaelic
, Galician
, Gujarati
, Hausa
, Hawaiian
, Hmong
, Haitian Creole
, Armenian
, Igbo
, Icelandic
, Javanese
, Georgian
, Kazakh
, Khmer
, Kannada
, Krio
, Kurdish
, Kyrgyz
, Latin
, Luxembourgish
, Lao
, Malagasy
, Maori
, Macedonian
, Malayalam
, Mongolian
, Meiteilon (Manipuri)
, Marathi
, Malay
, Maltese
, Myanmar (Burmese)
, Nepali
, Nyanja (Chichewa)
, Odia (Oriya)
, Punjabi
, Pashto
, Sindhi
, Sinhala (Sinhalese)
, Samoan
, Shona
, Somali
, Albanian
, Sesotho
, Sundanese
, Tamil
, Telugu
, Tajik
, Uyghur
, Urdu
, Uzbek
, Xhosa
, Yiddish
, Yoruba
, Zulu
.
Versions de modèle
Pour utiliser un modèle stable actuel, spécifiez le numéro de version du modèle, par exemple gemini-embedding-001
. Il n'est pas recommandé de spécifier un modèle sans numéro de version, car il ne s'agit que d'un ancien pointeur vers un autre modèle et il n'est pas stable.
Pour en savoir plus, consultez la page Versions et cycle de vie des modèles.
Étape suivante
Pour obtenir des informations détaillées, consultez la documentation suivante :