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

  1. Nettoyer et découper les documents, par paragraphe ou par titre.
  2. Appeler l'API Embedding sur chaque bloc.
  3. Stocker les vecteurs dans une base vectorielle comme pgvector, Milvus ou Qdrant.
  4. Lorsqu'un utilisateur pose une question, vectoriser également la question.
  5. Récupérer les blocs les plus similaires.
  6. 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 :