Lors de la sélection d'un fournisseur d'embeddings, plusieurs facteurs peuvent être pris en compte selon vos besoins et préférences :
Anthropic ne propose pas son propre modèle d'embedding. Un fournisseur d'embeddings qui offre une grande variété d'options et de capacités couvrant toutes les considérations ci-dessus est Voyage AI.
Voyage AI crée des modèles d'embedding à la pointe de la technologie et propose des modèles personnalisés pour des domaines industriels spécifiques tels que la finance et la santé, ou des modèles ajustés sur mesure pour des clients individuels.
Le reste de ce guide concerne Voyage AI, mais vous devriez évaluer plusieurs fournisseurs d'embeddings afin de trouver celui qui convient le mieux à votre cas d'usage spécifique.
Voyage recommande d'utiliser les modèles d'embedding de texte suivants :
Voyage 4 (dernière génération)
| Modèle | Longueur de contexte | Dimension d'embedding | Description |
|---|---|---|---|
voyage-4-large | 32 000 | 1024 (par défaut), 256, 512, 2048 | La meilleure qualité de récupération généraliste et multilingue. Consultez l'article de blog pour plus de détails. |
voyage-4 | 32 000 | 1024 (par défaut), 256, 512, 2048 | Optimisé pour la qualité de récupération généraliste et multilingue. Équilibre qualité et efficacité. Consultez l'article de blog pour plus de détails. |
voyage-4-lite | 32 000 | 1024 (par défaut), 256, 512, 2048 | Optimisé pour la latence et le coût. Consultez l'article de blog pour plus de détails. |
voyage-4-nano | 32 000 | 1024 (par défaut), 256, 512, 2048 | Modèle à poids ouverts (licence Apache 2.0) disponible sur Hugging Face. Consultez l'article de blog pour plus de détails. |
Génération précédente
| Modèle | Longueur de contexte | Dimension d'embedding | Description |
|---|---|---|---|
voyage-3-large | 32 000 | 1024 (par défaut), 256, 512, 2048 | La meilleure qualité de récupération généraliste et multilingue. Consultez l'article de blog pour plus de détails. |
voyage-3.5 | 32 000 | 1024 (par défaut), 256, 512, 2048 | Optimisé pour la qualité de récupération généraliste et multilingue. Consultez l'article de blog pour plus de détails. |
voyage-3.5-lite | 32 000 | 1024 (par défaut), 256, 512, 2048 | Optimisé pour la latence et le coût. Consultez l'article de blog pour plus de détails. |
voyage-code-3 | 32 000 | 1024 (par défaut), 256, 512, 2048 | Optimisé pour la récupération de code. Consultez l'article de blog pour plus de détails. |
voyage-finance-2 | 32 000 | 1024 | Optimisé pour la récupération et le RAG dans le domaine de la finance. Consultez l'article de blog pour plus de détails. |
voyage-law-2 | 16 000 | 1024 | Optimisé pour la récupération et le RAG dans les domaines juridique et à contexte long. Performances également améliorées dans tous les domaines. Consultez l'article de blog pour plus de détails. |
De plus, les modèles d'embedding multimodaux suivants sont recommandés :
| Modèle | Longueur de contexte | Dimension d'embedding | Description |
|---|---|---|---|
voyage-multimodal-3.5 | 32 000 | 1024 (par défaut), 256, 512, 2048 | Modèle d'embedding multimodal riche capable de vectoriser du texte, des images et des vidéos entrelacés. Inclut la prise en charge de la vidéo en tant que premier modèle d'embedding vidéo de qualité production. Consultez l'article de blog pour plus de détails. |
voyage-multimodal-3 | 32 000 | 1024 | Modèle d'embedding multimodal riche capable de vectoriser du texte entrelacé et des images riches en contenu, telles que des captures d'écran de PDF, des diapositives, des tableaux, des figures, et plus encore. Consultez l'article de blog pour plus de détails. |
Besoin d'aide pour choisir le modèle d'embedding de texte à utiliser ? Consultez la FAQ.
Pour accéder aux embeddings de Voyage :
export VOYAGE_API_KEY="<your secret key>"Vous pouvez obtenir les embeddings en utilisant soit le package Python officiel voyageai, soit des requêtes HTTP, comme décrit ci-dessous.
Le package voyageai peut être installé à l'aide de la commande suivante :
pip install -U voyageaiEnsuite, vous pouvez créer un objet client et commencer à l'utiliser pour générer des embeddings de vos textes :
import voyageai
vo = voyageai.Client()
# Ceci utilisera automatiquement la variable d'environnement VOYAGE_API_KEY.
# Vous pouvez également utiliser vo = voyageai.Client(api_key="<votre clé secrète>")
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 sera une liste de deux vecteurs d'embedding, chacun contenant 1024 nombres à virgule flottante. Après l'exécution du code ci-dessus, les deux embeddings seront affichés à l'écran :
[-0.013131560757756233, 0.019828535616397858, ...] # embedding for "Sample text 1"
[-0.0069352793507277966, 0.020878976210951805, ...] # embedding for "Sample text 2"Lors de la création des embeddings, vous pouvez spécifier quelques autres arguments à la fonction embed().
Pour plus d'informations sur le package Python Voyage, consultez la documentation Voyage.
Vous pouvez également obtenir des embeddings en interrogeant l'API HTTP de Voyage. Par exemple, vous pouvez envoyer une requête HTTP via la commande curl dans un terminal :
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"
}'La réponse que vous obtiendrez est un objet JSON contenant les embeddings et l'utilisation des tokens :
{
"object": "list",
"data": [
{
"embedding": [-0.013131560757756233, 0.019828535616397858 /* ... */],
"index": 0
},
{
"embedding": [-0.0069352793507277966, 0.020878976210951805 /* ... */],
"index": 1
}
],
"model": "voyage-4",
"usage": {
"total_tokens": 10
}
}Pour plus d'informations sur l'API HTTP de Voyage, consultez la documentation Voyage.
Les embeddings Voyage sont disponibles sur AWS Marketplace. Les instructions pour accéder à Voyage sur AWS sont disponibles dans la documentation Voyage AWS Marketplace.
Le bref exemple suivant montre comment utiliser les embeddings.
Supposons que vous disposiez d'un petit corpus de six documents dans lequel effectuer des recherches
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.",
]Tout d'abord, utilisez Voyage pour convertir chaque document en un vecteur d'embedding
import voyageai
vo = voyageai.Client()
# Générer les embeddings des documents
doc_embds = vo.embed(documents, model="voyage-4", input_type="document").embeddingsLes embeddings vous permettent d'effectuer une recherche / récupération sémantique dans l'espace vectoriel. Étant donné un exemple de requête,
query = "When is Apple's conference call scheduled?"Ensuite, convertissez-la en embedding et effectuez une recherche du plus proche voisin pour trouver le document le plus pertinent en fonction de la distance dans l'espace d'embedding.
import numpy as np
# Générer l'embedding de la requête
query_embd = vo.embed([query], model="voyage-4", input_type="query").embeddings[0]
# Calculer la similarité
# Les embeddings Voyage sont normalisés à une longueur de 1, donc le produit scalaire
# et la similarité cosinus sont identiques.
similarities = np.dot(doc_embds, query_embd)
retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])Notez que input_type="document" et input_type="query" sont utilisés respectivement pour l'embedding du document et de la requête. Plus de spécifications sont disponibles dans Bibliothèque Python Voyage.
La sortie serait le 5e document, qui est effectivement le plus pertinent par rapport à la requête :
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.Si vous recherchez un ensemble détaillé de cookbooks sur la façon de faire du RAG avec des embeddings, y compris des bases de données vectorielles, consultez le cookbook RAG.
Consultez la page de tarification de Voyage pour obtenir les informations tarifaires les plus récentes.
Was this page helpful?