Intermédiaire 11 minEmbeddings

BGE-M3 : des embeddings qui parlent vraiment français

Réponse directe

BGE-M3 (BAAI, licence MIT) est un modèle d'embedding qui gère plus de 100 langues, accepte jusqu'à 8 192 tokens par passage et produit trois représentations en une passe : dense (sens global), lexicale (termes exacts, façon BM25) et multi-vecteur (reclassement façon ColBERT). Sur un corpus français, c'est un choix plus sûr que les modèles anglophones des classements publics. Il tient en 1,2 Go via Ollama (bge-m3:567m) et tourne sans carte graphique.

La plupart des modèles d'embedding les mieux classés sont entraînés majoritairement sur de l'anglais. Utilisés sur un corpus français, ils fonctionnent sans erreur et récupèrent moins bien — l'échec le plus pernicieux qui soit, puisque rien ne le signale. BGE-M3, publié par le laboratoire chinois BAAI, est l'un des rares modèles réellement multilingues, avec en prime une particularité utile : il produit trois types de représentations d'un coup, sans coût additionnel.

Par Mohamed Meguedmi·Màj 2026-09-30·Testé sur Windows, macOS, Linux

#Le problème français

Un modèle d'embedding apprend sa notion de similarité de son corpus d'entraînement. Si ce corpus est à 90 % anglophone, le modèle place correctement les textes anglais les uns par rapport aux autres et beaucoup moins finement les textes français. En pratique, sur un corpus documentaire français, cela se traduit par des passages pertinents qui ne remontent pas, et par des passages hors sujet qui remontent — sans aucun message d'erreur, sans avertissement dans les journaux, et souvent sans que personne ne le remarque avant qu'un utilisateur ne signale une réponse à côté de la plaque.

C'est la raison pour laquelle la question « quel modèle d'embedding » n'a pas la même réponse selon la langue. Les classements publics (type MTEB) sont largement dominés par des tâches anglophones ; ils ne prédisent pas ce qui se passera sur vos documents, ni sur votre vocabulaire spécialisé. C'est précisément pour ce cas que le laboratoire chinois BAAI (Beijing Academy of Artificial Intelligence) a conçu BGE-M3 : le nom signifie Multi-Functionality, Multi-Linguality, Multi-Granularity — trois fonctions de recherche, plus de 100 langues, et des entrées de la phrase courte au document long, réunies dans un seul modèle plutôt que dispersées entre plusieurs outils.

#Ce que BGE-M3 apporte

Le kit RAG Local

Tes documents, ton IA : un RAG local fiable sur tes PDF, notes et mails — sans rien envoyer dans le cloud.

  • Espace en ligne à vie
  • PDF + fichiers
  • Remboursé 30 j
Multilingue de conception
Le modèle prend en charge plus de 100 langues de travail, selon sa fiche officielle ; il traite le français correctement et permet aussi d'interroger en français un corpus anglais.
Contexte long : 8 192 tokens
Il accepte des passages nettement plus longs que la plupart des modèles d'embedding (souvent limités à 512 tokens), ce qui laisse de la liberté sur la taille des morceaux indexés.
Trois représentations à la fois
Dense, lexicale et multi-vecteur, produites en une seule passe, sans coût de calcul additionnel selon BAAI.
Licence MIT
Utilisable en entreprise sans restriction particulière ; vérifiez toujours la fiche du modèle au moment de l'intégrer, une licence pouvant évoluer d'une version à l'autre.
Pas d'instruction à ajouter
Contrairement à d'autres modèles BGE plus anciens, BGE-M3 ne demande plus d'ajouter une instruction dans les requêtes : on l'utilise directement, ce qui simplifie l'intégration.

#Dense, lexical, multi-vecteur : à quoi ça sert

Trois sorties, trois usages (définitions reprises de la fiche officielle du modèle)
ReprésentationCe qu'elle captureCe qu'elle apporte
DenseLe texte réduit à un seul vecteur qui capture son sens globalLa recherche sémantique classique
Lexicale (sparse)Un poids par terme du vocabulaire, nul sauf pour les mots présents dans le texteRetrouve les références, sigles et noms propres que le sémantique manque, à la façon de BM25
Multi-vecteurPlusieurs vecteurs par texte, à la façon de ColBERTUn reclassement plus précis des meilleurs candidats

L'intérêt est de pouvoir faire de la recherche hybride sans faire tourner deux modèles séparés : la fiche officielle recommande explicitement le duo recherche hybride + reclassement, en s'appuyant sur les poids lexicaux obtenus « sans coût additionnel » en même temps que l'embedding dense. La partie lexicale rattrape précisément les échecs de la partie dense, et la partie multi-vecteur sert à reclasser la vingtaine de candidats retenus. Toutes les bases vectorielles ne savent pas exploiter les trois sorties, mais la dense seule suffit déjà pour un usage classique — c'est d'ailleurs la configuration la plus simple à mettre en œuvre pour démarrer, avant d'ajouter la couche lexicale si la précision manque encore.

!
Le choix se fait avant le premier import
Changer de modèle d'embedding impose de tout réencoder : les vecteurs de deux modèles ne sont pas comparables. Sur un corpus conséquent, c'est un traitement de plusieurs heures. Tester deux ou trois modèles sur un échantillon de vos propres questions coûte une demi-journée et évite cette reprise.

#L'utiliser en local

Le moyen le plus rapide de tester BGE-M3 en local est Ollama, qui distribue une version quantifiée du modèle sous le nom bge-m3:567m — 567 millions de paramètres, pour un téléchargement d'environ 1,2 Go et une fenêtre de contexte de 8 000 tokens annoncée sur la fiche du modèle. C'est un modèle bâti sur XLM-RoBERTa-large, dont la longueur de contexte a d'abord été étendue à 8 192 tokens par un pré-entraînement dédié (RetroMAE), avant un affinage unifié pour les trois tâches de récupération en une seule étape d'entraînement, plutôt que trois modèles séparés à maintenir.

Terminal — télécharger et tester le modèle
ollama pull bge-m3
ollama run bge-m3 "Quel est le délai de rétractation légal en France ?"

Pour un pipeline RAG complet, seule la sortie dense est directement exploitable par la plupart des bases vectorielles standard (Qdrant, Milvus, pgvector) sans configuration spécifique ; les sorties lexicale et multi-vecteur demandent un moteur qui sait les combiner, ce que documentent par exemple les intégrations Milvus et Vespa citées par BAAI.

Dans une chaîne RAG classique avec un LLM local, BGE-M3 remplace simplement le modèle d'embedding par défaut : on encode chaque morceau de document une fois à l'indexation, on encode la question de l'utilisateur à chaque requête, puis on transmet les meilleurs passages retrouvés au LLM (Qwen, Mistral, Llama…) chargé sous Ollama ou LM Studio. Le choix du modèle d'embedding et celui du modèle de génération sont deux décisions indépendantes : rien n'oblige à prendre un modèle de la même famille pour les deux étapes, et c'est même rarement le cas en pratique.

i
Un détail qui piège souvent
Le modèle d'embedding utilisé à l'indexation doit rester strictement identique à celui utilisé à la requête. Changer de version, même mineure, ou de paramètre de normalisation entre les deux étapes dégrade la pertinence sans provoquer d'erreur visible — le même problème silencieux que celui décrit en introduction, mais auto-infligé cette fois.

#Vérifier sur vos propres documents

Un « plus de 100 langues » de fiche produit n'est pas une garantie de qualité uniforme : c'est une couverture, pas un score par langue. BAAI évalue BGE-M3 sur MIRACL (recherche multilingue) et sur MLDR, un jeu de données de récupération de documents longs couvrant 13 langues que le laboratoire a publié spécifiquement pour ce modèle, avec le pipeline d'évaluation correspondant en accès libre. Ces évaluations donnent une tendance générale, mesurée sur des corpus de recherche standardisés ; elles ne remplacent pas un test sur votre propre corpus, dans votre propre domaine, avec votre propre vocabulaire technique et vos propres formulations de questions.

  1. 01
    Constituer un petit échantillon représentatif
    Vingt à trente documents réels du corpus visé, avec leur diversité habituelle de longueur et de vocabulaire, pas une sélection triée sur le volet.
  2. 02
    Écrire des questions comme les poseraient vos utilisateurs
    Dix à vingt questions réelles, y compris des questions qui utilisent des synonymes ou une formulation différente de celle du document source.
  3. 03
    Comparer deux ou trois modèles sur le même échantillon
    BGE-M3 face à un modèle anglophone réputé et, si possible, un autre modèle multilingue. Noter combien de fois le bon passage sort dans les trois premiers résultats.
  4. 04
    Trancher avant l'import massif
    Le test coûte une demi-journée ; changer de modèle après indexation d'un corpus complet impose de tout réencoder, comme rappelé plus haut.
→
Le catalogue du site comme repère
Pour situer la taille d'un modèle d'embedding par rapport aux LLM que vous faites déjà tourner en local, le catalogue QuelLLM (quelllm.fr/api/models.json) donne les tailles et besoins mémoire des modèles référencés sur le site.

#Ce que ça coûte

C'est un modèle d'embedding plus lourd que les petits modèles anglophones à la mode : ses 567 millions de paramètres et son téléchargement d'1,2 Go en font un poids moyen pour la catégorie, loin des modèles à quelques dizaines de millions de paramètres qui dominent les classements de vitesse pure. Il encode plus lentement et occupe davantage de mémoire. Sur l'indexation initiale d'un gros corpus, cela se voit ; sur une question isolée, la différence est imperceptible face au temps de génération du modèle de langage qui suit.

Autre conséquence : ses vecteurs denses ont une dimension de 1 024, donc l'index occupe plus de place que des modèles à 384 ou 768 dimensions. Sur un million de passages, l'arithmétique n'est plus négligeable, et c'est le moment de regarder les options de compression de votre base vectorielle.

BGE-M3 dans la famille de modèles publiée par BAAI
ModèleDimensionLongueur maxPortée
BAAI/bge-m31 0248 192 tokensMultilingue, trois méthodes de récupération unifiées
BAAI/bge-large-en-v1.51 024512 tokensAnglais uniquement
BAAI/bge-base-en-v1.5768512 tokensAnglais uniquement, plus léger
BAAI/bge-small-en-v1.5384512 tokensAnglais uniquement, le plus léger

Le contraste est net : à dimension égale (1 024), BGE-M3 accepte seize fois plus de tokens par passage que bge-large-en-v1.5, et couvre plus de 100 langues là où toute la famille « en » de BAAI se limite à l'anglais. C'est le prix à payer, en taille de téléchargement et en temps d'encodage, pour ne pas avoir à choisir un modèle différent par langue de corpus, ni à maintenir plusieurs index séparés selon la langue des documents entrants.

#Quand le choisir, quand s'en passer

Décider honnêtement
SituationChoix
Corpus français ou multilingueBGE-M3 ou un autre modèle réellement multilingue
Questions en français sur des documents anglaisUn modèle multilingue, impérativement
Corpus purement anglophone, priorité à la vitesseUn petit modèle anglophone spécialisé
Passages longs (au-delà de 512 tokens) qu'on ne veut pas découper davantageBGE-M3, pour sa longueur d'entrée de 8 192 tokens
Machine très contrainteUn modèle plus léger, quitte à perdre en pertinence sur le français

#FAQ

BGE-M3 est-il bon en français ?+
Oui, c'est précisément son intérêt : sa fiche officielle annonce plus de 100 langues de travail prises en charge, là où la plupart des modèles les mieux classés sont majoritairement anglophones. Vérifiez tout de même sur vos propres questions, les classements publics restant dominés par l'anglais.
Peut-on interroger en français des documents anglais ?+
C'est l'un des apports d'un modèle multilingue comme BGE-M3 : la question et le document n'ont pas besoin d'être dans la même langue pour se retrouver proches dans l'espace vectoriel, contrairement à un modèle entraîné sur une seule langue. C'est utile pour une base documentaire mixte, par exemple une doc technique en anglais interrogée par une équipe francophone.
Faut-il une carte graphique ?+
Non, il tourne sur processeur : la version Ollama pèse environ 1,2 Go pour 567 millions de paramètres, un poids raisonnable pour du CPU. Un GPU réduit nettement le temps d'indexation d'un gros corpus ; pour une requête isolée, la différence est négligeable face au modèle de langage qui traite la réponse ensuite.
À quoi servent ses trois sorties ?+
La dense fait la recherche sémantique classique, la lexicale (sparse) rattrape les termes exacts comme les références et les sigles à la façon de BM25, et la multi-vecteur, façon ColBERT, sert à reclasser finement les meilleurs candidats. Utiliser la seule sortie dense est déjà un usage valable et le plus simple à intégrer dans une base vectorielle standard.
Combien de tokens BGE-M3 accepte-t-il par passage ?+
Jusqu'à 8 192 tokens selon sa fiche officielle, contre 512 pour la famille de modèles anglophones bge-large-en-v1.5, bge-base-en-v1.5 et bge-small-en-v1.5 du même éditeur. C'est utile pour indexer des passages longs comme des contrats ou des rapports sans les découper davantage, au prix d'un encodage plus lent sur de gros volumes de documents.
Puis-je en changer plus tard ?+
Oui, au prix d'un réencodage complet du corpus : les vecteurs de deux modèles ne sont pas comparables entre eux, même s'ils ont la même dimension. Mieux vaut tester deux ou trois modèles sur un échantillon avant le premier import massif, plutôt que de découvrir le problème après coup sur un corpus déjà indexé.
BGE-M3 est-il meilleur que les modèles OpenAI pour le français ?+
Un comparatif indépendant cité par BAAI le place en tête à la fois en anglais et dans les autres langues face à des modèles OpenAI sur ce test précis, mais un seul comparatif ne remplace pas un essai sur votre corpus. La bonne pratique reste de tester plusieurs modèles sur vos propres questions avant de choisir.
Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.