Was this page helpful?
Bei der Auswahl eines Embeddings-Anbieters gibt es mehrere Faktoren, die Sie je nach Ihren Anforderungen und Vorlieben berücksichtigen können:
Anthropic bietet kein eigenes Embedding-Modell an. Ein Embeddings-Anbieter, der eine große Vielfalt an Optionen und Funktionen bietet, die alle oben genannten Überlegungen umfassen, ist Voyage AI.
Voyage AI erstellt hochmoderne 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 ist für Voyage AI, aber Sie sollten eine Vielzahl von Embeddings-Anbietern bewerten, um die beste Lösung für Ihren spezifischen Anwendungsfall zu finden.
Voyage empfiehlt die Verwendung der folgenden Text-Embedding-Modelle:
| Modell | Kontextlänge | Embedding-Dimension | Beschreibung |
|---|---|---|---|
voyage-3-large | 32.000 | 1024 (Standard), 256, 512, 2048 | Die beste allgemeine und mehrsprachige Abrufqualität. Siehe Blog-Beitrag für Details. |
voyage-3.5 | 32.000 | 1024 (Standard), 256, 512, 2048 | Optimiert für allgemeine und mehrsprachige Abrufqualität. Siehe Blog-Beitrag für Details. |
voyage-3.5-lite | 32.000 | 1024 (Standard), 256, 512, 2048 | 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 für Details. |
Zusätzlich werden die folgenden multimodalen Embedding-Modelle empfohlen:
| Modell | Kontextlänge | Embedding-Dimension | Beschreibung |
|---|---|---|---|
voyage-multimodal-3 | 32000 | 1024 | Reichhaltiges multimodales Embedding-Modell, das verschachtelte Text- und inhaltsreiche Bilder wie Screenshots von PDFs, Folien, Tabellen, Abbildungen und mehr vektorisieren kann. Siehe Blog-Beitrag für Details. |
Benötigen Sie Hilfe bei der Entscheidung, welches Text-Embedding-Modell Sie verwenden sollten? Schauen Sie sich die FAQ an.
Um auf Voyage Embeddings zuzugreifen:
export VOYAGE_API_KEY="<your secret key>"Sie können die Embeddings entweder mit dem offiziellen voyageai Python-Paket oder HTTP-Anfragen erhalten, wie unten beschrieben.
Das voyageai-Paket kann mit dem folgenden Befehl installiert werden:
pip install -U voyageaiDann können Sie ein Client-Objekt erstellen und es verwenden, um Ihre Texte einzubetten:
import voyageai
vo = voyageai.Client()
# This will automatically use the environment variable VOYAGE_API_KEY.
# Alternatively, you can use vo = voyageai.Client(api_key="<your secret key>")
texts = ["Sample text 1", "Sample text 2"]
result = vo.embed(texts, model="voyage-3.5", input_type="document")
print(result.embeddings[0])
print(result.embeddings[1])result.embeddings wird eine Liste von zwei Embedding-Vektoren sein, die jeweils 1024 Gleitkommazahlen enthalten. Nach dem Ausführen des obigen Codes werden die beiden Embeddings auf dem Bildschirm gedruckt:
[-0.013131560757756233, 0.019828535616397858, ...] # embedding for "Sample text 1"
[-0.0069352793507277966, 0.020878976210951805, ...] # embedding for "Sample text 2"Beim Erstellen der Embeddings können Sie mehrere andere Argumente an die embed()-Funktion übergeben.
Weitere Informationen zum Voyage Python-Paket finden Sie in der Voyage-Dokumentation.
Sie können Embeddings auch durch Anfragen an die Voyage HTTP API erhalten. Sie können beispielsweise eine HTTP-Anfrage über den curl-Befehl in einem Terminal senden:
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-3.5"
}'Die Antwort, die Sie erhalten, 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-3.5",
"usage": {
"total_tokens": 10
}
}Weitere Informationen zur Voyage HTTP API finden Sie in der Voyage-Dokumentation.
Voyage Embeddings sind auf dem AWS Marketplace verfügbar. Anweisungen zum Zugriff auf Voyage auf AWS finden Sie in der Voyage AWS Marketplace-Dokumentation.
Das folgende kurze Beispiel zeigt, wie man Embeddings verwendet.
Angenommen, Sie haben einen kleinen Corpus von sechs Dokumenten zum Abrufen
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.",
]Verwenden Sie zunächst Voyage, um jedes Dokument in einen Embedding-Vektor umzuwandeln
import voyageai
vo = voyageai.Client()
# Embed the documents
doc_embds = vo.embed(documents, model="voyage-3.5", input_type="document").embeddingsDie Embeddings ermöglichen es Ihnen, semantische Suche/Abruf im Vektorraum durchzuführen. Angesichts einer Beispielabfrage,
query = "When is Apple's conference call scheduled?"Konvertieren Sie es als nächstes in ein Embedding und führen Sie eine Nearest-Neighbor-Suche durch, um das relevanteste Dokument basierend auf der Entfernung im Embedding-Raum zu finden.
import numpy as np
# Embed the query
query_embd = vo.embed([query], model="voyage-3.5", input_type="query").embeddings[0]
# Compute the similarity
# Voyage embeddings are normalized to length 1, therefore dot-product
# and cosine similarity are the same.
similarities = np.dot(doc_embds, query_embd)
retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])Beachten Sie, dass input_type="document" und input_type="query" zum Einbetten des Dokuments bzw. der Abfrage verwendet werden. Weitere Spezifikationen finden Sie im Voyage Python-Paket-Abschnitt.
Die Ausgabe wäre das 5. Dokument, das tatsächlich am relevantesten 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 Sie nach einem detaillierten Satz von Cookbooks zur Durchführung von RAG mit Embeddings suchen, einschließlich Vektordatenbanken, schauen Sie sich das RAG Cookbook an.
Besuchen Sie Voyages Preisseite für die aktuellsten Preisdetails.
voyage-law-2 | 16.000 | 1024 | Optimiert für juristische und langkontextuelle Abruf- und RAG-Aufgaben. Auch verbesserte Leistung über alle Domänen hinweg. Siehe Blog-Beitrag für Details. |