L'API Embedding transforme du texte en vecteurs. Ces vecteurs servent à la recherche sémantique, au RAG, à la segmentation en clusters, à la déduplication et à la recommandation. L'API ne génère pas de texte, mais elle constitue la couche de base de la plupart des applications de base de connaissances.
Cet article explique comment appeler l'API Embedding, choisir un modèle, estimer les coûts et évaluer la qualité des résultats.
Remarque : les interfaces et les dimensions des modèles d'embedding varient selon les fournisseurs. Cet article prend l'exemple d'une interface compatible OpenAI ; la documentation de l'éditeur ou du site fait référence.
1. Ce que permet un embedding
- Recherche sémantique : retrouver un contenu par son sens plutôt que par correspondance de mots-clés.
- RAG : découper des documents, les vectoriser, puis transmettre les passages retrouvés à un grand modèle pour répondre.
- Clusters et classification : regrouper des textes similaires.
- Déduplication : repérer les contenus identiques ou proches.
- Recommandation : trouver des articles ou des produits similaires.
La qualité de l'embedding dépend autant du modèle que du découpage des documents et des métadonnées associées.
2. Mode d'appel
L'interface compatible OpenAI est généralement :
POST /v1/embeddings
Requête :
{
"model": "text-embedding-3-small",
"input": ["Premier texte", "Deuxième texte"]
}
La réponse contient un vecteur pour chaque texte. Le nom du modèle et la dimension figurent sur la page Tarifs des modèles.
3. Exemple en Python
from openai import OpenAI
client = OpenAI(
api_key="sk-votre-cle",
base_url="https://ai.zhongshangqihang.com/v1",
)
resp = client.embeddings.create(
model="text-embedding-3-small",
input=["Qu'est-ce qu'une passerelle API", "Définition d'une API Gateway"],
)
print(len(resp.data[0].embedding))
Regroupez les textes par lots raisonnables pour réduire le nombre de requêtes, mais restez sous la limite d'entrée du modèle.
4. Pipeline RAG de base
- Nettoyer et découper les documents, par paragraphe ou par titre.
- Appeler l'API Embedding sur chaque bloc.
- Stocker les vecteurs dans une base vectorielle comme pgvector, Milvus ou Qdrant.
- Lorsqu'un utilisateur pose une question, vectoriser également la question.
- Récupérer les blocs les plus similaires.
- Transmettre les passages retrouvés et la question au grand modèle.
Attention : la taille des blocs, leur chevauchement et les métadonnées comme la source ou les droits d'accès influencent directement la qualité. Un découpage trop grossier noie l'information utile ; un découpage trop fin prive le modèle du contexte nécessaire.
5. Comment choisir le modèle
| Critère | Ce qu'il faut vérifier |
|---|---|
| Dimension | Une dimension plus élevée n'est pas toujours meilleure ; elle augmente le coût et le stockage |
| Langue | Qualité en chinois et en multilingue |
| Entrée maximale | Longueur de texte acceptée par bloc |
| Prix | Facturation au token |
| Cohérence | Les anciens vecteurs ne sont pas compatibles après un changement de modèle |
| Déploiement | Possibilité d'hébergement privé et conformité des données |
Pour un projet multilingue, testez le modèle sur des requêtes réelles dans chaque langue plutôt que sur des exemples génériques.
6. Calcul du coût
Coût mensuel =
tokens de documents × prix unitaire
+ tokens de requêtes × prix unitaire
+ stockage vectoriel et bande passante
La vectorisation des documents est généralement un coût ponctuel, tandis que les requêtes représentent un coût continu. Changer de modèle impose de revectoriser toute la base : chiffrez cette opération avant de vous engager.
7. Pièges courants
- Mélanger anciens et nouveaux vecteurs après un changement de modèle, ce qui fausse la recherche.
- Découper trop gros, au détriment de la précision, ou trop fin, au détriment du contexte.
- Ne pas stocker la source ni les droits d'accès, rendant les réponses impossibles à tracer.
- Utiliser uniquement la recherche vectorielle sans hybridation avec les mots-clés, ce qui rend le rappel instable.
- Négliger les performances multilingues.
Ajoutez également une étape d'évaluation : un jeu de questions avec les passages attendus permet de mesurer le rappel avant et après chaque changement de modèle ou de découpage.
Questions fréquentes
Quelle différence entre embedding et grand modèle ?
L'embedding produit des vecteurs destinés à la recherche ou au regroupement ; le grand modèle produit du texte destiné à la génération ou au raisonnement.
Peut-on déployer en local ?
Oui, certains modèles d'embedding ouverts peuvent être hébergés en privé, mais cela nécessite des GPU et une capacité d'exploitation.
Une clé peut-elle appeler à la fois l'embedding et le chat ?
Sur une passerelle, c'est généralement possible : le modèle est indiqué dans les paramètres de la requête.
Pour aller plus loin
Si vous avez besoin d'une entrée unifiée, d'une facturation à l'usage et de plusieurs modèles, vous pouvez créer un compte ZSQH AI Gateway et tester l'embedding ainsi que le chat à faible volume. Les modèles et les tarifs applicables figurent sur la page Tarifs des modèles.
Articles liés :
