Claude Platform Docs
MessagesModellfähigkeiten

Embeddings

Text-Embeddings sind numerische Darstellungen von Text, die das Messen semantischer Ähnlichkeit ermöglichen. Dieser Leitfaden führt in Embeddings, ihre Anwendungen und die Verwendung von Embedding-Modellen für Aufgaben wie Suche, Empfehlungen und Anomalieerkennung ein.

Vor der Implementierung von Embeddings

Bei der Auswahl eines Embeddings-Anbieters gibt es mehrere Faktoren, die du je nach deinen Bedürfnissen und Vorlieben berücksichtigen kannst:

  • Datensatzgröße und Domänenspezifität: Größe des Trainingsdatensatzes des Modells und seine Relevanz für die Domäne, die du einbetten möchtest. Größere oder domänenspezifischere Daten erzeugen im Allgemeinen bessere domäneninterne Embeddings
  • Inferenzleistung: Geschwindigkeit der Embedding-Abfrage und End-to-End-„Latency“ (Latenz). Dies ist ein besonders wichtiger Aspekt für groß angelegte Produktionsbereitstellungen
  • Anpassung: Optionen für fortgesetztes Training auf privaten Daten oder die Spezialisierung von Modellen für sehr spezifische Domänen. Dies kann die Leistung bei einzigartigen Vokabularen verbessern

So erhältst du Embeddings mit Anthropic

Anthropic bietet kein eigenes Embedding-Modell an. Ein Embeddings-Anbieter, der eine große Vielfalt an Optionen und Fähigkeiten bietet, die alle vorgenannten Überlegungen abdecken, ist Voyage AI.

Voyage AI entwickelt hochmoderne Embedding-Modelle und bietet angepasste Modelle für bestimmte Branchendomänen wie Finanzen und Gesundheitswesen sowie maßgeschneiderte, per „Fine-tuning“ (Feinabstimmung) angepasste Modelle für einzelne Kunden an.

Der Rest dieses Leitfadens bezieht sich auf Voyage AI, aber du solltest verschiedene Embeddings-Anbieter prüfen, um die beste Lösung für deinen spezifischen Anwendungsfall zu finden.

Verfügbare Modelle

Voyage empfiehlt die Verwendung der folgenden Text-Embedding-Modelle:

Voyage 4 (neueste Generation)

ModellKontextlängeEmbedding-DimensionBeschreibung
voyage-4-large32.0001024 (Standard), 256, 512, 2048Die beste allgemeine und mehrsprachige Retrieval-Qualität. Siehe den Voyage-4-Blogbeitrag für Details.
voyage-432.0001024 (Standard), 256, 512, 2048Optimiert für allgemeine und mehrsprachige Retrieval-Qualität. Balanciert Qualität und Effizienz. Siehe den Voyage-4-Blogbeitrag für Details.
voyage-4-lite32.0001024 (Standard), 256, 512, 2048Optimiert für Latenz und Kosten. Siehe den Voyage-4-Blogbeitrag für Details.
voyage-4-nano32.0001024 (Standard), 256, 512, 2048Open-Weight-Modell (Apache-2.0-Lizenz), verfügbar auf Hugging Face. Siehe den Voyage-4-Blogbeitrag für Details.

Vorherige Generation

ModellKontextlängeEmbedding-DimensionBeschreibung
voyage-3-large32.0001024 (Standard), 256, 512, 2048Die beste allgemeine und mehrsprachige Retrieval-Qualität. Siehe den voyage-3-large-Blogbeitrag für Details.
voyage-3.532.0001024 (Standard), 256, 512, 2048Optimiert für allgemeine und mehrsprachige Retrieval-Qualität. Siehe den voyage-3.5-Blogbeitrag für Details.
voyage-3.5-lite32.0001024 (Standard), 256, 512, 2048Optimiert für Latenz und Kosten. Siehe den voyage-3.5-Blogbeitrag für Details.
voyage-code-332.0001024 (Standard), 256, 512, 2048Optimiert für Code-Retrieval. Siehe den voyage-code-3-Blogbeitrag für Details.
voyage-finance-232.0001024Optimiert für Finanz-Retrieval und RAG. Siehe den voyage-finance-2-Blogbeitrag für Details.
voyage-law-216.0001024Optimiert für juristisches und Long-Context-Retrieval und RAG. Außerdem verbesserte Leistung über alle Domänen hinweg. Siehe den voyage-law-2-Blogbeitrag für Details.

Zusätzlich empfiehlt Voyage die folgenden multimodalen Embedding-Modelle:

ModellKontextlängeEmbedding-DimensionBeschreibung
voyage-multimodal-3.532.0001024 (Standard), 256, 512, 2048Leistungsfähiges multimodales Embedding-Modell, das verschachtelten Text, Bilder und Videos vektorisieren kann. Enthält Video-Unterstützung als erstes produktionsreifes Video-Embedding-Modell. Siehe den voyage-multimodal-3.5-Blogbeitrag für Details.
voyage-multimodal-332.0001024Leistungsfähiges multimodales Embedding-Modell, das verschachtelten Text und inhaltsreiche Bilder wie Screenshots von PDFs, Folien, Tabellen, Abbildungen und mehr vektorisieren kann. Siehe den voyage-multimodal-3-Blogbeitrag für Details.

Die folgenden kontextualisierten Chunk-Embedding-Modelle erzeugen Vektoren auf Chunk-Ebene, die den vollständigen Dokumentkontext ohne manuelle Metadaten-Anreicherung erfassen. Rufe diese Modelle mit contextualized_embed() statt embed() auf:

ModellKontextlängeEmbedding-DimensionBeschreibung
voyage-context-4120.0001024 (Standard), 256, 512, 2048Kontextualisierte Chunk-Embeddings, optimiert für allgemeine und mehrsprachige Retrieval-Qualität. Siehe den voyage-context-4-Blogbeitrag für Details.
voyage-context-3120.0001024 (Standard), 256, 512, 2048Kontextualisierte Chunk-Embeddings, optimiert für allgemeine und mehrsprachige Retrieval-Qualität. Siehe den voyage-context-3-Blogbeitrag für Details.

Voyage AI bietet außerdem Reranker an, die eine Abfrage und eine Liste von Dokumenten entgegennehmen und diese nach Relevanz für die Abfrage sortiert zurückgeben. Rufe diese Modelle mit rerank() auf:

ModellKontextlängeBeschreibung
rerank-2.532.000Höchste Genauigkeit. Empfohlen für die meisten Anwendungen. Siehe den rerank-2.5-Blogbeitrag für Details.
rerank-2.5-lite32.000Optimiert für Latenz und Kosten. Siehe den rerank-2.5-Blogbeitrag für Details.

Brauchst du Hilfe bei der Entscheidung, welches Text-Embedding-Modell du verwenden sollst? Sieh dir die Voyage AI FAQ an.

Erste Schritte mit Voyage AI

So greifst du auf Voyage-Embeddings zu:

  1. Registriere dich auf der Website von Voyage AI.
  2. Besorge dir einen API-Key.
  3. Setze den API-Key der Einfachheit halber als Umgebungsvariable:
export VOYAGE_API_KEY="<your secret key>"

Du kannst die Embeddings entweder über das offizielle voyageai-Python-Paket oder über HTTP-Anfragen erhalten, wie in den folgenden Abschnitten beschrieben.

Voyage-Python-Bibliothek

Installiere das voyageai-Paket mit dem folgenden Befehl:

pip install -U voyageai

Anschließend kannst du ein Client-Objekt erstellen und damit beginnen, deine Texte einzubetten:

import voyageai

vo = voyageai.Client()
# Dies verwendet automatisch die Umgebungsvariable VOYAGE_API_KEY.
# Alternativ kannst du vo = voyageai.Client(api_key="<your secret key>") verwenden

texts = ["Sample text 1", "Sample text 2"]

result = vo.embed(texts, model="voyage-4", input_type="document")
print(result.embeddings[0])
print(result.embeddings[1])

result.embeddings ist eine Liste von zwei Embedding-Vektoren, die jeweils 1024 Gleitkommazahlen enthalten. Nach dem Ausführen des obigen Codes werden die beiden Embeddings auf dem Bildschirm ausgegeben:

[-0.013131560757756233, 0.019828535616397858, ...]   # embedding for "Sample text 1"
[-0.0069352793507277966, 0.020878976210951805, ...]  # embedding for "Sample text 2"

Beim Erstellen der Embeddings kannst du der Funktion embed() einige weitere Argumente übergeben.

Weitere Informationen zum Voyage-Python-Paket findest du in der Dokumentation des Voyage-Python-Pakets.

Voyage HTTP API

Du kannst Embeddings auch durch Anfragen an die Voyage HTTP API erhalten. Zum Beispiel kannst du eine HTTP-Anfrage über den Befehl curl in einem Terminal senden:

cURL
curl https://api.voyageai.com/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $VOYAGE_API_KEY" \
  -d '{
    "input": ["Sample text 1", "Sample text 2"],
    "model": "voyage-4"
  }'

Die Antwort, die du erhältst, ist ein JSON-Objekt, das die Embeddings und die Token-Nutzung enthält:

{
  "object": "list",
  "data": [
    {
      "embedding": [-0.013131560757756233, 0.019828535616397858 /* ... */],
      "index": 0
    },
    {
      "embedding": [-0.0069352793507277966, 0.020878976210951805 /* ... */],
      "index": 1
    }
  ],
  "model": "voyage-4",
  "usage": {
    "total_tokens": 10
  }
}

Weitere Informationen zur Voyage HTTP API findest du in der Dokumentation der Voyage HTTP API.

AWS Marketplace

Voyage-Embeddings sind auf dem AWS Marketplace verfügbar. Anleitungen für den Zugriff auf Voyage über AWS findest du in der Voyage-AWS-Marketplace-Dokumentation.

Schnellstart-Beispiel

Das folgende kurze Beispiel zeigt, wie du Embeddings verwendest.

Angenommen, du hast einen kleinen Korpus von sechs Dokumenten, aus dem abgerufen werden soll

documents = [
    "The Mediterranean diet emphasizes fish, olive oil, and vegetables, believed to reduce chronic diseases.",
    "Photosynthesis in plants converts light energy into glucose and produces essential oxygen.",
    "20th-century innovations, from radios to smartphones, centered on electronic advancements.",
    "Rivers provide water, irrigation, and habitat for aquatic species, vital for ecosystems.",
    "Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.",
    "Shakespeare's works, like 'Hamlet' and 'A Midsummer Night's Dream,' endure in literature.",
]

Verwende zunächst Voyage, um jedes Dokument in einen Embedding-Vektor umzuwandeln.

import voyageai

vo = voyageai.Client()

# Bette die Dokumente ein
doc_embds = vo.embed(documents, model="voyage-4", input_type="document").embeddings

Die Embeddings ermöglichen dir semantische Suche / Retrieval im Vektorraum. Gegeben sei eine Beispielabfrage,

query = "When is Apple's conference call scheduled?"

Wandle sie als Nächstes in ein Embedding um und führe eine Nächste-Nachbarn-Suche durch, um das relevanteste Dokument anhand der Distanz im Embedding-Raum zu finden.

import numpy as np

# Bette die Abfrage ein
query_embd = vo.embed([query], model="voyage-4", input_type="query").embeddings[0]

# Berechne die Ähnlichkeit
# Voyage-Embeddings sind auf Länge 1 normalisiert, daher sind Skalarprodukt
# und Kosinus-Ähnlichkeit identisch.
similarities = np.dot(doc_embds, query_embd)

retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])

Beachte, dass input_type="document" und input_type="query" für das Einbetten des Dokuments bzw. der Abfrage verwendet werden. Weitere Spezifikationen findest du unter Voyage-Python-Bibliothek.

Die Ausgabe ist das fünfte Dokument, das tatsächlich das relevanteste für die Abfrage ist:

Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.

Wenn du nach einer detaillierten Sammlung von Rezepten suchst, wie du RAG mit Embeddings einschließlich Vektordatenbanken umsetzt, sieh dir das RAG-Rezept an.

FAQ

Preise

Besuche die Preisseite von Voyage für die aktuellsten Preisdetails.

Was this page helpful?