Embeddings
Les embeddings de texte sont des représentations numériques du texte qui permettent de mesurer la similarité sémantique. Ce guide présente les embeddings, leurs applications et comment utiliser les modèles d’embedding pour des tâches comme la recherche, les recommandations et la détection d’anomalies.
Avant d’implémenter les embeddings
Lors du choix d’un fournisseur d’embeddings, il y a plusieurs facteurs à considérer selon vos besoins et préférences :
- Taille du jeu de données et spécificité du domaine : taille du jeu de données d’entraînement du modèle et sa pertinence pour le domaine que vous souhaitez encoder. Des données plus volumineuses ou plus spécifiques au domaine produisent généralement de meilleurs embeddings dans le domaine
- Performance d’inférence : vitesse de recherche d’embedding et latence de bout en bout. C’est une considération particulièrement importante pour les déploiements à grande échelle en production
- Personnalisation : options pour poursuivre l’entraînement sur des données privées, ou spécialisation des modèles pour des domaines très spécifiques. Cela peut améliorer les performances sur des vocabulaires uniques
Comment obtenir des embeddings avec Anthropic
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 englobant 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 comme la finance et la santé, ou des modèles affinés sur mesure pour des clients individuels.
Le reste de ce guide concerne Voyage AI, mais nous vous encourageons à évaluer différents fournisseurs d’embeddings pour trouver celui qui correspond le mieux à votre cas d’utilisation spécifique.
Modèles disponibles
Voyage recommande l’utilisation des modèles d’embedding de texte suivants :
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érale et multilingue. |
voyage-3 | 32 000 | 1024 | Optimisé pour la qualité de récupération générale et multilingue. Voir le billet de blog pour plus de détails. |
voyage-3-lite | 32 000 | 512 | Optimisé pour la latence et le coût. Voir le billet 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. Voir le billet de blog pour plus de détails. |
voyage-finance-2 | 32 000 | 1024 | Optimisé pour la récupération et le RAG en finance. Voir le billet de blog pour plus de détails. |
voyage-law-2 | 16 000 | 1024 | Optimisé pour la récupération et le RAG juridique et long contexte. Performances également améliorées dans tous les domaines. Voir le billet 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 | 32000 | 1024 | Modèle d’embedding multimodal riche qui peut vectoriser du texte entrelacé et des images riches en contenu, comme des captures d’écran de PDF, des diapositives, des tableaux, des figures, et plus encore. Voir le billet de blog pour plus de détails. |
Besoin d’aide pour décider quel modèle d’embedding de texte utiliser ? Consultez la FAQ.
Démarrer avec Voyage AI
Pour accéder aux embeddings Voyage :
- Inscrivez-vous sur le site web de Voyage AI
- Obtenez une clé API
- Définissez la clé API comme variable d’environnement pour plus de commodité :
Vous pouvez obtenir les embeddings soit en utilisant le package Python voyageai
officiel, soit via des requêtes HTTP, comme décrit ci-dessous.
Package Python Voyage
Le package voyageai
peut être installé en utilisant la commande suivante :
Ensuite, vous pouvez créer un objet client et commencer à l’utiliser pour encoder vos textes :
result.embeddings
sera une liste de deux vecteurs d’embedding, chacun contenant 1024 nombres à virgule flottante. Après avoir exécuté le code ci-dessus, les deux embeddings seront affichés à l’écran :
Lors de la création des embeddings, vous pouvez également spécifier quelques autres arguments pour la fonction embed()
. Vous pouvez en savoir plus sur la spécification ici
API HTTP 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 :
La réponse que vous obtiendrez est un objet JSON contenant les embeddings et l’utilisation des tokens :
Vous pouvez en savoir plus sur le point de terminaison d’embedding dans la documentation Voyage
AWS Marketplace
Les embeddings Voyage sont également disponibles sur AWS Marketplace. Les instructions pour accéder à Voyage sur AWS sont disponibles ici.
Exemple de démarrage rapide
Maintenant que nous savons comment obtenir des embeddings, voyons un bref exemple.
Supposons que nous ayons un petit corpus de six documents à partir desquels effectuer une recherche
Nous allons d’abord utiliser Voyage pour convertir chacun d’eux en un vecteur d’embedding
Les embeddings nous permettront de faire une recherche sémantique / récupération dans l’espace vectoriel. Étant donné une requête exemple,
nous la convertissons en embedding, et effectuons une recherche du plus proche voisin pour trouver le document le plus pertinent basé sur la distance dans l’espace d’embedding.
Notez que nous utilisons input_type="document"
et input_type="query"
pour encoder respectivement le document et la requête. Plus de spécifications peuvent être trouvées ici.
La sortie serait le 5e document, qui est en effet le plus pertinent pour la requête :
Si vous recherchez un ensemble détaillé de guides pratiques sur la façon de faire du RAG avec des embeddings, y compris les bases de données vectorielles, consultez notre guide pratique RAG.
FAQ
Tarification
Visitez la page de tarification de Voyage pour les détails de prix les plus récents.
Was this page helpful?
Pour les tâches de récupération, y compris le RAG, spécifiez toujours
input_type
comme “query” ou “document”. Cette optimisation améliore la qualité de récupération grâce à un préfixage de prompt spécialisé :Pour les requêtes :
Pour les documents :
Ne jamais omettre
input_type
ou le définir àNone
pour les tâches de récupération.Pour la classification, le clustering ou d’autres tâches MTEB utilisant `voyage-large-2-inst
ruct`, suivez les instructions dans notre dépôt GitHub.