Texteinbettungen abrufen

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: text-embedding-005, beispielsweise 768-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 sind normalisiert, sodass Sie dieselben Ähnlichkeitsrangfolgen mithilfe der Kosinus-Ähnlichkeit, des Punktprodukts oder der euklidischen Entfernung erhalten.

Hinweise

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Vertex AI API.

    Enable the API

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Enable the Vertex AI API.

    Enable the API

  6. Wählen Sie einen Aufgabentyp für Ihren Einbettungsjob aus.

Unterstützte Modelle

Sie können Texteinbettungen mit den folgenden Modellen abrufen:

Englische Modelle Mehrsprachige Modelle Gemini-Einbettungsmodelle
textembedding-gecko@001 textembedding-gecko-multilingual@001 text-embedding-large-exp-03-07 (experimentell)
textembedding-gecko@002 text-multilingual-embedding-002
textembedding-gecko@003
text-embedding-004
text-embedding-005

Wenn Sie diese Modelle zum ersten Mal verwenden, empfehlen wir Ihnen, die neuesten Versionen zu verwenden. Verwenden Sie text-embedding-005 für englischen Text. Für mehrsprachigen Text verwenden Sie text-multilingual-embedding-002. Für eine hervorragende Einbettungsqualität ist text-embedding-large-exp-03-07 unser großes Modell, das für die höchste Leistung entwickelt wurde.

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. Für jede Anfrage sind Sie auf 250 Eingabetexte in us-central1 beschränkt. In anderen Regionen beträgt der maximale Eingabetext 5. Bei experimentellen Modellen beträgt der maximale Eingabetext 1. Experimentelle Modelle sind nur in us-central1 verfügbar. Die API hat ein maximales Eingabetokenlimit von 20.000. Eingaben, die dieses Limit überschreiten, führen zu einem 500-Fehler. Bei den meisten Modellen ist jeder einzelne Eingabetext auf 2.048 Token beschränkt. Überschüssiges wird stillschweigend abgeschnitten. Bei text-embedding-large-exp-03-07 ist jeder einzelne Eingabetext auf 8.192 Token beschränkt. Sie können die automatische Kürzung auch deaktivieren, indem Sie autoTruncate auf false setzen.

Alle Modelle liefern standardmäßig einen Embedding-Vektor in voller Länge. Bei text-embedding-large-exp-03-07 hat dieser Vektor 3.072 Dimensionen. Andere Modelle erzeugen 768-dimensionale Vektoren. Bei den folgenden Modellen können Nutzer jedoch eine Ausgabedimensionalität zwischen 1 und der maximalen Ausgabedimensionalität auswählen. Durch die Auswahl einer kleineren Ausgabedimensionalität können Nutzer Arbeitsspeicher und Speicherplatz sparen, was zu effizienteren Berechnungen führt.

  • text-embedding-004
  • text-embedding-005
  • text-multilingual-embedding-002
  • text-embedding-large-exp-03-07

In den folgenden Beispielen wird das text-embedding-005-Modell verwendet.

Gen AI SDK for Python

Installieren

pip install --upgrade google-genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Legen Sie Umgebungsvariablen fest, um das Gen AI SDK mit Vertex AI zu verwenden:

# 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=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import EmbedContentConfig

client = genai.Client()
response = client.models.embed_content(
    model="text-embedding-005",
    contents=[
        "How do I get a driver's license/learner's permit?",
        "How do I renew my driver's license?",
        "How do I change my address on my driver's license?",
    ],
    config=EmbedContentConfig(
        task_type="RETRIEVAL_DOCUMENT",  # Optional
        output_dimensionality=768,  # Optional
        title="Driver's License",  # Optional
    ),
)
print(response)
# Example response:
# embeddings=[ContentEmbedding(values=[-0.06302902102470398, 0.00928034819662571, 0.014716853387653828, -0.028747491538524628, ... ],
# statistics=ContentEmbeddingStatistics(truncated=False, token_count=13.0))]
# metadata=EmbedContentMetadata(billable_character_count=112)

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.

Nächste Schritte