Texteinbettungen abrufen

In diesem Leitfaden wird beschrieben, wie Sie eine Texteinbettung mit der Vertex AI Text Embeddings API erstellen. Auf dieser Seite werden die folgenden Themen behandelt:

Die Vertex AI Text Embeddings API verwendet dichte Vektordarstellungen von Text. Diese Einbettungen werden mit Deep-Learning-Methoden erstellt, die denen von Large Language Models ähneln. Im Gegensatz zu spärlichen 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. So können Sie nach Passagen suchen, die der Bedeutung einer Anfrage entsprechen, auch wenn in den Passagen nicht dieselben Wörter verwendet werden.

Die wichtigsten Merkmale dieser Einbettungen sind:

  • Hohe Dimensionalität: Modelle erzeugen hochdimensionale Vektoren. gemini-embedding-001 verwendet beispielsweise 3.072-dimensionale Vektoren. Sie können die Ausgabedimensionalität reduzieren, um Speicherplatz zu sparen und die Recheneffizienz zu steigern.
  • Normalisierte Vektoren: Die Ausgabevektoren werden normalisiert, sodass Sie Kosinus-Ähnlichkeit, Punktprodukt oder euklidische Entfernung verwenden können, um dieselben Ähnlichkeitsrankings zu erhalten.

Weitere Informationen finden Sie in den folgenden Ressourcen:

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.
  7. 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 englischer Sprache, mehrsprachigen Aufgaben und 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.

    Verwenden Sie nur die Modellnamen, die in der Tabelle der unterstützten Modelle aufgeführt sind. Geben Sie keinen Modellnamen ohne das Suffix @version an und verwenden Sie nicht @latest, da diese Formate ungültig sind.

    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

    Jede Anfrage ist auf 250 Eingabetexte und insgesamt 20.000 Eingabetokens beschränkt. Wenn eine Anfrage das Tokenlimit überschreitet, wird ein 400-Fehler zurückgegeben. Jeder einzelne Eingabetext ist auf 2.048 Tokens beschränkt. Überschüssige Tokens werden stillschweigend abgeschnitten. Wenn Sie die automatische Kürzung deaktivieren möchten, setzen Sie autoTruncate auf false.

    Weitere Informationen finden Sie unter Limits für Texteinbettungen.

    Einbettungsdimension auswählen

    Standardmäßig erzeugen alle Modelle einen Embedding-Vektor in voller Länge. Für gemini-embedding-001 hat dieser Vektor 3.072 Dimensionen, für andere Modelle sind es 768 Dimensionen. Mit dem Parameter output_dimensionality können Sie die Größe des Ausgabebettungsvektors steuern. Eine kleinere Ausgabedimensionalität kann Speicherplatz sparen und die Recheneffizienz für nachgelagerte Anwendungen steigern, was jedoch mit einem potenziellen Qualitätsverlust einhergehen kann.

    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

    from google import genai
    from google.genai.types import EmbedContentConfig
    
    client = genai.Client()
    response = client.models.embed_content(
        model="gemini-embedding-001",
        contents=[
            "How do I get a driver's license/learner's permit?",
            "How long is my driver's license valid for?",
            "Driver's knowledge test study guide",
        ],
        config=EmbedContentConfig(
            task_type="RETRIEVAL_DOCUMENT",  # Optional
            output_dimensionality=3072,  # 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