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:
Englische Modelle | Mehrsprachige Modelle |
---|---|
textembedding-gecko@001 |
textembedding-gecko-multilingual@001 |
textembedding-gecko@003 |
text-multilingual-embedding-002 |
text-embedding-004 |
|
text-embedding-preview-0815 |
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
Parameter | |
---|---|
|
Jede Instanz stellt einen einzelnen Text dar, der eingebettet werden soll. |
|
Der Text, für den Sie Einbettungen generieren möchten. |
|
Optional: Wenn dieser Wert auf "true" gesetzt ist, wird der Eingabetext abgeschnitten. Ist dieser Wert auf "false" gesetzt, wird ein Fehler zurückgegeben, wenn der Eingabetext die maximale vom Modell unterstützte Länge überschreitet. 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!"
},
]
}
Parameter | |
---|---|
|
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. Dies muss einer der folgenden Werte sein:
Der Weitere Informationen zu Aufgabentypen finden Sie unter Aufgabentyp für Einbettungen auswählen. |
|
Optional: Wird verwendet, um dem Modell dabei zu helfen, bessere Einbettungen zu erstellen.
Nur gültig in Kombination mit |
taskType
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. |
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 für die Klassifizierung verwendet wird. |
CLUSTERING |
Gibt an, dass die Einbettung für das Clustering verwendet wird. |
QUESTION_ANSWERING |
Gibt an, dass die Abfrageeinbettung zur Beantwortung 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. |
CODE_RETRIEVAL_QUERY |
Gibt an, dass die Abfrageeinbettung für den Codeabruf für Java und Python verwendet wird. |
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.
Antworttext
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
Antwortelement | Beschreibung |
---|---|
embeddings |
Das aus dem Eingabetext generierte Ergebnis. |
statistics |
Die aus dem Eingabetext berechneten Statistiken. |
truncated |
Gibt an, ob der Eingabetext länger als die maximal zulässige Tokenanzahl war und abgeschnitten wurde. |
tokenCount |
Anzahl der Tokens für den Eingabetext. |
values |
Das Feld values enthält die Einbettungsvektoren, die den Wörtern im Eingabetext entsprechen. |
Beispielantwort
{
"predictions": [
{
"embeddings": {
"values": [
0.0058424929156899452,
0.011848051100969315,
0.032247550785541534,
-0.031829461455345154,
-0.055369812995195389,
...
],
"statistics": {
"token_count": 4,
"truncated": false
}
}
}
]
}
Beispiele
Textstring einbetten
Grundlegender Anwendungsfall
Das folgende Beispiel zeigt, wie die Einbettung eines Textstrings abgerufen wird.
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. - 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/text-embedding-004: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/text-embedding-004: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/text-embedding-004: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-1.5-flash
odergemini-1.0-pro-vision
). 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 Referenzdokumentation zur Python API.
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.
Erweiterter Anwendungsfall
Das folgende Beispiel zeigt einige erweiterte Funktionen:
- Verwenden Sie
task_type
undtitle
, um die Einbettungsqualität zu verbessern. - Verwenden Sie Parameter, um das Verhalten der API zu steuern.
REST
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 3.072 Tokens pro Text.
- TASK_TYPE: Wird verwendet, um die beabsichtigte nachgelagerte Anwendung zu übertragen, um dem Modell zu helfen, bessere Einbettungen zu erstellen.
- TITLE: Wird verwendet, um dem Modell zu helfen, bessere Einbettungen zu erstellen.
- AUTO_TRUNCATE: Wenn auf
false
gesetzt, schlägt Text, der das Tokenlimit überschreitet, fehl. Der Standardwert isttrue
. - OUTPUT_DIMENSIONALITY: wird verwendet, um die Größe der Ausgabeeinbettung anzugeben. Wenn festgelegt, werden Ausgabeeinbettungen auf die angegebene Größe gekürzt.
HTTP-Methode und URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/textembedding-gecko@003:predict
JSON-Text der Anfrage:
{ "instances": [ { "content": "TEXT", "task_type": "TASK_TYPE", "title": "TITLE" }, ], "parameters": { "autoTruncate": AUTO_TRUNCATE, "outputDimensionality": OUTPUT_DIMENSIONALITY } }
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/textembedding-gecko@003: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/textembedding-gecko@003: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.
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 Referenzdokumentation zur Python API.
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. Die Modelle textembedding-gecko-multilingual@001
und
text-multilingual-embedding-002
werden zusätzlich unterstützt und wurden 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
.
Modellversionen
Wenn Sie eine stabile Modellversion verwenden möchten, geben Sie die Modellversionsnummer an, z. B. text-embedding-004
.
Stabile Versionen sind ab dem Releasedatum der nachfolgenden stabilen Version noch sechs Monate verfügbar.
Die folgende Tabelle enthält die verfügbaren stabilen Modellversionen:
Modellname | Veröffentlicht | Einstellungsdatum |
---|---|---|
text-embedding-004 | 14. Mai 2024 | Noch nicht bekannt |
text-multilingual-embedding-002 | 14. Mai 2024 | Noch nicht bekannt |
textembedding-gecko@003 | 12. Dezember 2023 | 14. Mai 2025 |
textembedding-gecko-multilingual@001 | 2. November 2023 | 14. Mai 2025 |
textembedding-gecko@002 (regressiert, aber noch unterstützt) |
2. November 2023 | 12. Dezember 2024 |
textembedding-gecko@001 (regressiert, aber noch unterstützt) |
7. Juni 2023 | 2. November 2024 |
multimodalembedding@001 | 13. Februar 2024 | Noch nicht bekannt |
Weitere Informationen finden Sie unter Modellversionen und Lebenszyklus.
Nächste Schritte
Eine ausführliche Dokumentation finden Sie hier: