Vor der Implementierung von Embeddings
Bei der Auswahl eines Embedding-Anbieters gibt es mehrere Faktoren, die Sie je nach Ihren Bedürfnissen und Präferenzen berücksichtigen können:- Datensatzgröße & Domänenspezifität: Größe des Modell-Trainingsdatensatzes und seine Relevanz für die Domäne, die Sie einbetten möchten. Größere oder domänenspezifischere Daten produzieren im Allgemeinen bessere domänenspezifische Embeddings
- Inferenz-Performance: Embedding-Abrufgeschwindigkeit und End-to-End-Latenz. Dies ist besonders wichtig für Produktionsumgebungen im großen Maßstab
- Anpassung: Optionen für fortgesetztes Training mit privaten Daten oder Spezialisierung von Modellen für sehr spezifische Domänen. Dies kann die Leistung bei einzigartigen Vokabularen verbessern
Wie man Embeddings mit Anthropic erhält
Anthropic bietet kein eigenes Embedding-Modell an. Ein Embedding-Anbieter, der eine große Vielfalt an Optionen und Fähigkeiten bietet, die alle oben genannten Überlegungen umfassen, ist Voyage AI. Voyage AI entwickelt modernste Embedding-Modelle und bietet angepasste Modelle für spezifische Industriebereiche wie Finanzen und Gesundheitswesen oder maßgeschneiderte feinabgestimmte Modelle für einzelne Kunden. Der Rest dieses Leitfadens bezieht sich auf Voyage AI, aber wir ermutigen Sie, verschiedene Embedding-Anbieter zu prüfen, um die beste Lösung für Ihren spezifischen Anwendungsfall zu finden.Verfügbare Modelle
Voyage empfiehlt die Verwendung der folgenden Text-Embedding-Modelle:Model | Context Length | Embedding Dimension | Description |
---|---|---|---|
voyage-3-large | 32.000 | 1024 (Standard), 256, 512, 2048 | Die beste allgemeine und mehrsprachige Abrufqualität. |
voyage-3 | 32.000 | 1024 | Optimiert für allgemeine und mehrsprachige Abrufqualität. Siehe Blog-Beitrag für Details. |
voyage-3-lite | 32.000 | 512 | Optimiert für Latenz und Kosten. Siehe Blog-Beitrag für Details. |
voyage-code-3 | 32.000 | 1024 (Standard), 256, 512, 2048 | Optimiert für Code-Abruf. Siehe Blog-Beitrag für Details. |
voyage-finance-2 | 32.000 | 1024 | Optimiert für Finanz-Abruf und RAG. Siehe Blog-Beitrag für Details. |
voyage-law-2 | 16.000 | 1024 | Optimiert für juristische und lange Kontext-Abruf und RAG. Auch verbesserte Leistung über alle Domänen hinweg. Siehe Blog-Beitrag für Details. |
Model | Context Length | Embedding Dimension | Description |
---|---|---|---|
voyage-multimodal-3 | 32000 | 1024 | Reichhaltiges multimodales Embedding-Modell, das verschachtelte Texte und inhaltsreiche Bilder wie Screenshots von PDFs, Präsentationen, Tabellen, Abbildungen und mehr vektorisieren kann. Siehe Blog-Beitrag für Details. |
Erste Schritte mit Voyage AI
Um auf Voyage Embeddings zuzugreifen:- Registrieren Sie sich auf der Voyage AI Website
- Erhalten Sie einen API-Schlüssel
- Setzen Sie den API-Schlüssel als Umgebungsvariable für die Bequemlichkeit:
voyageai
Python-Paket oder HTTP-Anfragen erhalten, wie unten beschrieben.
Voyage Python-Paket
Dasvoyageai
-Paket kann mit folgendem Befehl installiert werden:
result.embeddings
wird eine Liste von zwei Embedding-Vektoren sein, die jeweils 1024 Fließkommazahlen enthalten. Nach Ausführung des obigen Codes werden die beiden Embeddings auf dem Bildschirm ausgegeben:
embed()
-Funktion angeben. Hier können Sie mehr über die Spezifikation lesen
Voyage HTTP API
Sie können Embeddings auch durch Anfragen an die Voyage HTTP API erhalten. Zum Beispiel können Sie eine HTTP-Anfrage über dencurl
-Befehl in einem Terminal senden:
AWS Marketplace
Voyage Embeddings sind auch im AWS Marketplace verfügbar. Anweisungen für den Zugriff auf Voyage auf AWS finden Sie hier.Schnellstart-Beispiel
Nachdem wir nun wissen, wie man Embeddings erhält, schauen wir uns ein kurzes Beispiel an. Angenommen, wir haben einen kleinen Korpus von sechs Dokumenten, aus denen wir abrufen möchteninput_type="document"
und input_type="query"
für das Einbetten des Dokuments bzw. der Anfrage verwenden. Weitere Spezifikationen finden Sie hier.
Die Ausgabe wäre das 5. Dokument, das tatsächlich am relevantesten für die Anfrage ist:
FAQ
Warum haben Voyage Embeddings überlegene Qualität?
Warum haben Voyage Embeddings überlegene Qualität?
Embedding-Modelle basieren auf leistungsstarken neuronalen Netzwerken, um semantischen Kontext zu erfassen und zu komprimieren, ähnlich wie generative Modelle. Voyage’s Team erfahrener KI-Forscher optimiert jede Komponente des Embedding-Prozesses, einschließlich:
- Modellarchitektur
- Datenerfassung
- Verlustfunktionen
- Optimiererauswahl
Welche Embedding-Modelle sind verfügbar und welches sollte ich verwenden?
Welche Embedding-Modelle sind verfügbar und welches sollte ich verwenden?
Für allgemeine Embedding-Zwecke empfehlen wir:
voyage-3-large
: Beste Qualitätvoyage-3-lite
: Niedrigste Latenz und Kostenvoyage-3
: Ausgewogene Leistung mit überlegener Abrufqualität zu einem wettbewerbsfähigen Preis
input_type
-Parameter, um den Abfrage- oder Dokumenttyp anzugeben.Domänenspezifische Modelle:- Juristische Aufgaben:
voyage-law-2
- Code und Programmierdokumentation:
voyage-code-3
- Finanzbezogene Aufgaben:
voyage-finance-2
Welche Ähnlichkeitsfunktion sollte ich verwenden?
Welche Ähnlichkeitsfunktion sollte ich verwenden?
Voyage Embeddings unterstützen:
- Skalarprodukt-Ähnlichkeit
- Kosinus-Ähnlichkeit
- Euklidische Distanz
- Kosinus-Ähnlichkeit entspricht der Skalarprodukt-Ähnlichkeit (Skalarprodukt-Berechnung ist schneller)
- Kosinus-Ähnlichkeit und Euklidische Distanz produzieren identische Rankings
Wie sollte ich den input_type Parameter verwenden?
Wie sollte ich den input_type Parameter verwenden?
Für Abrufaufgaben einschließlich RAG, geben Sie immer Für Dokumente:Für Klassifizierung, Clustering oder andere MTEB-Aufgaben mit
input_type
als “query” oder “document” an. Diese Optimierung verbessert die Abrufqualität durch spezialisierte Prompt-Präfixierung:Für Abfragen:Lassen Sie
input_type
niemals weg oder setzen Sie es für Abrufaufgaben nicht auf None
.voyage-large-2-instruct
, folgen Sie den Anweisungen in unserem GitHub Repository.Welche Quantisierungsoptionen sind verfügbar?
Welche Quantisierungsoptionen sind verfügbar?
Quantisierung reduziert Speicher, Arbeitsspeicher und Kosten durch Umwandlung von hochpräzisen Werten in Formate mit niedrigerer Präzision. Verfügbare Ausgabedatentypen (
Beispiel: Binäre Quantisierung wandelt acht Embedding-Werte in eine einzelne 8-Bit Ganzzahl um:
output_dtype
):Typ | Beschreibung | Größenreduzierung |
---|---|---|
float | 32-Bit Einfachpräzisions-Fließkommazahl (Standard) | Keine |
int8 /uint8 | 8-Bit Ganzzahlen (-128 bis 127 / 0 bis 255) | 4x |
binary /ubinary | Bit-gepackte Einzelbit-Werte | 32x |
Binäre Typen verwenden 8-Bit Ganzzahlen zur Darstellung gepackter Bits, wobei
binary
die Offset-Binärmethode verwendet.Wie kann ich Matryoshka Embeddings kürzen?
Wie kann ich Matryoshka Embeddings kürzen?
Matryoshka Embeddings enthalten grob-zu-feine Darstellungen, die durch Beibehaltung führender Dimensionen gekürzt werden können. Hier ist, wie man 1024D Vektoren auf 256D kürzt: