In diesem Dokument wird beschrieben, wie Sie eine Texteinbettung mit der Vertex AI Text Embeddings API erstellen.
Die Vertex AI Text Embeddings API verwendet dichte Vektordarstellungen: gemini-embedding-001 verwendet beispielsweise 3.072-dimensionale Vektoren. Für dichte Vektoreinbettungsmodelle verwenden Deep-Learning-Methoden, die den von Large Language Models verwendeten Methoden ähneln. Im Gegensatz zu späreren Vektoren, bei denen Wörter in der Regel direkt Zahlen zugeordnet werden, sind dichte Vektoren so konzipiert, dass sie die Bedeutung eines Textabschnitts besser darstellen. Der Vorteil der dichten Vektoreinbettungen in der generativen KI besteht darin, dass Sie anstelle der direkten Übereinstimmungen mit Wörtern oder Syntaxen besser nach Passagen suchen können, die der Bedeutung der Abfrage entsprechen, selbst wenn die Abschnitte nicht dieselbe Sprache verwenden.
Die Vektoren werden normalisiert, sodass Sie Kosinus-Ähnlichkeit, Punktprodukt oder euklidische Distanz verwenden können, um dieselben Ähnlichkeitsrankings zu erhalten.
- Weitere Informationen zu Einbettungen finden Sie in der Übersicht über Einbettungen-APIs.
- Weitere Informationen zu Texteinbettungsmodellen finden Sie unter Texteinbettungen.
- Informationen dazu, welche Sprachen die einzelnen Einbettungsmodelle unterstützen, finden Sie unter Unterstützte Textsprachen.
Hinweise
- 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.
- Wählen Sie einen Aufgabentyp für Ihren Einbettungsjob aus.
- Weitere Informationen zu Ratenbegrenzungen finden Sie unter Ratenbegrenzungen für generative KI in Vertex AI.
- Informationen zum Abrufen von Batchvorhersagen für Einbettungen finden Sie unter Vorhersagen für Batch-Texteinbettungen abrufen.
- Weitere Informationen zu multimodalen Einbettungen finden Sie unter Multimodale Einbettungen abrufen.
- Informationen zum Optimieren einer Einbettung finden Sie unter Texteinbettungen abstimmen.
- Weitere Informationen zur Forschung hinter
text-embedding-005
undtext-multilingual-embedding-002
finden Sie im Forschungsartikel Gecko: Versatile Text Embeddings Destillled from Large Language Models.
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.
Texteinbettungen für ein Text-Snippet abrufen
Sie können Texteinbettungen für ein Snippet aus Text mithilfe der Vertex AI API oder dem Vertex AI SDK für Python abrufen.
API-Limits
Für jede Anfrage sind Sie auf 250 Eingabetexte beschränkt.
Die API hat ein maximales Eingabetokenlimit von 20.000.
Eingaben, die dieses Limit überschreiten, führen zu einem 400-Fehler. Jeder einzelne Eingabetext ist außerdem auf 2.048 Tokens beschränkt. Überschüssiges wird stillschweigend abgeschnitten. Sie können die automatische Kürzung auch deaktivieren, indem Sie autoTruncate
auf false
setzen.
Weitere Informationen finden Sie unter Limits für Texteinbettungen.
Einbettungsdimension auswählen
Alle Modelle erzeugen standardmäßig einen Embedding-Vektor in voller Länge. Für gemini-embedding-001
hat dieser Vektor 3.072 Dimensionen. Andere Modelle erzeugen 768-dimensionale Vektoren. Mit dem Parameter output_dimensionality
können Nutzer jedoch die Größe des Ausgabebettungsvektors steuern.
Durch die Auswahl einer kleineren Ausgabedimensionalität kann Speicherplatz gespart und die Recheneffizienz für Downstream-Anwendungen gesteigert werden, ohne dass die Qualität wesentlich beeinträchtigt wird.
In den folgenden Beispielen wird das gemini-embedding-001
-Modell verwendet.
Python
Installieren
pip install --upgrade google-genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Umgebungsvariablen für die Verwendung des Gen AI SDK mit Vertex AI festlegen:
# 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
Einbettung zu einer Vektordatenbank hinzufügen
Nachdem Sie die Einbettung generiert haben, können Sie sie einer Vektordatenbank wie der Vektorsuche hinzufügen. Dies ermöglicht einen Abruf mit niedriger Latenz und ist von entscheidender Bedeutung, wenn die Größe Ihrer Daten zunimmt.
Weitere Informationen zur Vektorsuche finden Sie unter Vektorsuche – Übersicht.