Die Text Embeddings API wandelt Textdaten in numerische Vektoren um. Diese Vektordarstellungen sind so konzipiert, dass die semantische Bedeutung und der Kontext der von ihnen dargestellten Wörter erfasst werden.
Unterstützte Modelle:
Sie können Texteinbettungen mit den folgenden Modellen abrufen:
Modellname | Beschreibung | Ausgabeabmessungen | Maximale Sequenzlänge | Unterstützte Textsprachen |
---|---|---|---|---|
gemini-embedding-001 |
Hervorragende Leistung bei Aufgaben in Englisch, in mehreren Sprachen und bei Code-Aufgaben. Es vereint die bisherigen spezialisierten Modelle wie text-embedding-005 und text-multilingual-embedding-002 und erzielt in den jeweiligen Bereichen eine bessere Leistung. Weitere Informationen finden Sie in unserem technischen Bericht. |
Bis zu 3.072 | 2.048 Tokens | Unterstützte Textsprachen |
text-embedding-005 |
Spezialisiert auf Aufgaben in englischer Sprache und Code. | Bis zu 768 | 2.048 Tokens | Englisch |
text-multilingual-embedding-002 |
Spezialisiert auf mehrsprachige Aufgaben. | Bis zu 768 | 2.048 Tokens | Unterstützte Textsprachen |
Für eine hervorragende Einbettungsqualität ist gemini-embedding-001
unser großes Modell, das für höchste Leistung entwickelt wurde. gemini-embedding-001
unterstützt eine Instanz pro Anfrage.
Syntax
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(...)
Parameterliste
Felder der obersten Ebene | |
---|---|
|
Eine Liste von Objekten mit den folgenden Feldern:
|
|
Ein Objekt mit den folgenden Feldern:
|
instance Felder |
|
---|---|
|
Der Text, für den Sie Einbettungen generieren möchten. |
|
Optional: Wird verwendet, um die beabsichtigte nachgelagerte Anwendung anzugeben, um dem Modell zu helfen, bessere Einbettungen zu erstellen. Wenn Sie dieses Feld leer lassen, wird standardmäßig
Weitere Informationen zu Aufgabentypen finden Sie unter Aufgabentyp für Einbettungen auswählen. |
|
Optional: Wird verwendet, um dem Modell zu helfen, bessere Einbettungen zu erstellen.
Nur gültig mit |
task_type
In der folgenden Tabelle werden die task_type
-Parameterwerte und ihre Anwendungsfälle beschrieben:
task_type |
Beschreibung |
---|---|
RETRIEVAL_QUERY |
Gibt an, dass der angegebene Text eine Abfrage in einer Such- oder Abrufeinstellung ist. Verwenden Sie RETRIEVAL_DOCUMENT für die Dokumentseite. |
RETRIEVAL_DOCUMENT |
Gibt an, dass der angegebene Text ein Dokument in einer Such- oder Abrufeinstellung ist. |
SEMANTIC_SIMILARITY |
Gibt an, dass der angegebene Text für die semantische Textähnlichkeit (Semantic Textual Similarity, STS) verwendet wird. |
CLASSIFICATION |
Gibt an, dass die Einbettung zur Klassifizierung verwendet wird. |
CLUSTERING |
Gibt an, dass das Embedding für das Clustering verwendet wird. |
QUESTION_ANSWERING |
Gibt an, dass die Abfrage-Embedding zum Beantworten von Fragen verwendet wird. Verwenden Sie RETRIEVAL_DOCUMENT für die Dokumentseite. |
FACT_VERIFICATION |
Gibt an, dass die Abfrage-Embedding für die Faktenprüfung verwendet wird. Verwenden Sie RETRIEVAL_DOCUMENT für die Dokumentseite. |
CODE_RETRIEVAL_QUERY |
Gibt an, dass die Abfrageeinbettung für den Codeabruf für Java und Python verwendet wird. Verwenden Sie RETRIEVAL_DOCUMENT für die Dokumentseite. |
Abrufaufgaben:
Abfrage: Mit „task_type=RETRIEVAL_QUERY
“ geben Sie an, dass der Eingabetext eine Suchanfrage ist.
Korpus: Verwenden Sie „task_type=RETRIEVAL_DOCUMENT
“, um anzugeben, dass der Eingabetext Teil der Dokumentsammlung ist, die durchsucht wird.
Ähnlichkeitsaufgaben:
Semantische Ähnlichkeit: Verwenden Sie task_type= SEMANTIC_SIMILARITY
für beide Eingabetexte, um ihre allgemeine Bedeutungsähnlichkeit zu bestimmen.
parameters Felder |
|
---|---|
|
Optional: Wenn auf „true“ gesetzt, wird der eingegebene Text gekürzt. Wenn „false“ festgelegt ist, wird ein Fehler zurückgegeben, wenn der Eingabetext länger als die vom Modell unterstützte maximale Länge ist. Die Standardeinstellung ist true. |
|
Optional: Wird verwendet, um die Größe der Ausgabeeinbettung anzugeben. Wenn festgelegt, werden Ausgabeeinbettungen auf die angegebene Größe gekürzt. |
Anfragetext
{
"instances": [
{
"task_type": "RETRIEVAL_DOCUMENT",
"title": "document title",
"content": "I would like embeddings for this text!"
},
]
}
Antworttext
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
Antwortelemente | |
---|---|
|
Eine Liste mit Objekten mit den folgenden Feldern:
|
embeddings Felder |
|
---|---|
|
Eine Liste mit |
|
Die aus dem Eingabetext berechneten Statistiken. Enthält:
|
Beispielantwort
{
"predictions": [
{
"embeddings": {
"values": [
0.0058424929156899452,
0.011848051100969315,
0.032247550785541534,
-0.031829461455345154,
-0.055369812995195389,
...
],
"statistics": {
"token_count": 4,
"truncated": false
}
}
}
]
}
Beispiele
Textstring einbetten
Das folgende Beispiel zeigt, wie Sie das Embedding eines Textstrings abrufen.
REST
Nachdem Sie Ihre Umgebung eingerichtet haben, können Sie mit REST einen Text-Prompt testen. Im folgenden Beispiel wird eine Anfrage an den Publisher gesendet Modellendpunkt zu erstellen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- TEXT: Der Text, für den Sie Einbettungen generieren möchten. Limit: fünf Texte mit bis zu 2.048 Tokens pro Text für alle Modelle außer
textembedding-gecko@001
. Die maximale Länge des Eingabetokens fürtextembedding-gecko@001
beträgt 3.072. Fürgemini-embedding-001
kann jede Anfrage nur einen einzelnen Eingabetext enthalten. Weitere Informationen finden Sie unter Limits für Texteinbettungen. - AUTO_TRUNCATE: Wenn auf
false
gesetzt, schlägt Text, der das Tokenlimit überschreitet, fehl. Der Standardwert isttrue
.
HTTP-Methode und URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-embedding-001:predict
JSON-Text der Anfrage:
{ "instances": [ { "content": "TEXT"} ], "parameters": { "autoTruncate": AUTO_TRUNCATE } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten: Beachten Sie, dass values
gekürzt wurde, um Speicherplatz zu sparen.
- Mit der Methode
generateContent
können Sie anfordern, dass die Antwort zurückgegeben wird, nachdem sie vollständig generiert wurde. Um die Wahrnehmung von Latenz für menschliche Zielgruppen zu verringern, streame die Antwort, während sie mithilfe der MethodestreamGenerateContent
erzeugt wird. - Die multimodale Modell-ID befindet sich am Ende der URL vor der Methode (z. B.
gemini-2.0-flash
). Dieses Beispiel unterstützt möglicherweise auch andere Modelle.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Python-API-Referenzdokumentation.
Go
Bevor Sie dieses Beispiel anwenden, folgen Sie den Go-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Go API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Unterstützte Textsprachen
Alle Modelle für die Texteinbettung werden unterstützt und wurden in englischer Sprache bewertet. Das Modell text-multilingual-embedding-002
wird zusätzlich unterstützt und wurde in folgenden Sprachen bewertet:
- Bewertete Sprachen:
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)
,Chinese (zh)
- Unterstützte Sprachen:
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
,Zulu
.
Das gemini-embedding-001
-Modell unterstützt die folgenden Sprachen:
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
.
Modellversionen
Wenn Sie ein aktuelles stabiles Modell verwenden möchten, geben Sie die Modellversionsnummer an, z. B. gemini-embedding-001
. Es wird nicht empfohlen, ein Modell ohne Versionsnummer anzugeben, da es sich lediglich um einen Legacy-Zeiger auf ein anderes Modell handelt und nicht stabil ist.
Weitere Informationen finden Sie unter Modellversionen und Lebenszyklus.
Nächste Schritte
Eine ausführliche Dokumentation finden Sie hier: