Intermedio 11 minEmbeddings

BGE-M3: embeddings que realmente hablan francés

Respuesta directa

BGE-M3 (BAAI, licencia MIT) es un modelo de embeddings que admite más de 100 idiomas, acepta hasta 8 192 tokens por pasaje y produce tres representaciones en una sola pasada: densa (sentido global), léxica (términos exactos, al estilo de BM25) y multivector (reordenación al estilo de ColBERT). Para un corpus en francés, es una elección más fiable que los modelos para inglés de las clasificaciones públicas. Ocupa 1,2 GB a través de Ollama (bge-m3:567m) y funciona sin tarjeta gráfica.

La mayoría de los modelos de embedding mejor clasificados se entrenan principalmente con textos en inglés. Utilizados con un corpus francés, funcionan sin errores y recuperan información con menor eficacia: el fallo más pernicioso que existe, ya que nada lo indica. BGE-M3, publicado por el laboratorio chino BAAI, es uno de los pocos modelos realmente multilingües y tiene además una particularidad útil: produce tres tipos de representaciones a la vez, sin coste adicional.

Por Mohamed Meguedmi·Actualización 2026-09-30·Probado en Windows, macOS y Linux

#El problema francés

Un modelo de embedding aprende su noción de similitud a partir de su corpus de entrenamiento. Si el 90 % de ese corpus está en inglés, el modelo sitúa correctamente los textos en inglés unos respecto a otros y lo hace con mucha menos precisión con los textos en francés. En la práctica, en un corpus documental en francés, esto se traduce en pasajes pertinentes que no se recuperan y pasajes irrelevantes que sí se recuperan, sin ningún mensaje de error, sin advertencias en los registros y, a menudo, sin que nadie lo advierta hasta que un usuario señale una respuesta que no viene al caso.

Por eso, la respuesta a la pregunta «¿qué modelo de embedding?» varía según el idioma. Las clasificaciones públicas (como MTEB) están dominadas en gran medida por tareas en inglés; no predicen lo que ocurrirá con tus documentos ni con tu vocabulario especializado. Precisamente para este caso, el laboratorio chino BAAI (Beijing Academy of Artificial Intelligence) diseñó BGE-M3: el nombre significa Multi-Functionality, Multi-Linguality, Multi-Granularity —tres funciones de búsqueda, más de 100 idiomas y entradas que van desde frases cortas hasta documentos largos, todo reunido en un solo modelo en lugar de repartido entre varias herramientas—.

#Lo que aporta BGE-M3

El kit RAG Local

Tus documentos, tu IA: un RAG local fiable sobre tus PDF, notas y correos — sin enviar nada a la nube.

  • Espacio en línea de por vida
  • PDF + archivos
  • Reembolsado 30 j
Multilingüe por diseño
El modelo soporta más de 100 idiomas de trabajo según su ficha oficial; procesa el francés correctamente y permite también hacer consultas en francés sobre un corpus inglés.
Contexto largo: 8.192 tokens
Acepta pasajes mucho más largos que la mayoría de los modelos de embedding (a menudo limitados a 512 tokens), lo que deja libertad en el tamaño de los fragmentos indexados.
Tres representaciones a la vez
Densa, léxica y multivectorial, generadas en una sola pasada, sin coste computacional adicional según BAAI.
Licencia MIT
Se puede utilizar en empresas sin restricciones particulares; revisa siempre la ficha del modelo al integrarlo, ya que la licencia puede cambiar de una versión a otra.
Sin instrucción adicional
A diferencia de otros modelos BGE más antiguos, BGE-M3 ya no requiere añadir una instrucción a las consultas: se utiliza directamente, lo que simplifica la integración.

#Denso, léxico, multivector: ¿para qué sirve?

Tres salidas, tres usos (definiciones tomadas de la ficha oficial del modelo)
RepresentaciónLo que capturaLo que aporta
DenseTexto reducido a un solo vector que capta su significado globalBúsqueda semántica clásica
Léxica (dispersa)Un peso por término del vocabulario, nulo salvo para las palabras presentes en el textoEncuentra referencias, siglas y nombres propios que la búsqueda semántica pasa por alto, al estilo de BM25
Multi-vecteurVarios vectores por texto, como ColBERTUn reordenamiento más preciso de los mejores candidatos

La ventaja es poder realizar búsquedas híbridas sin ejecutar dos modelos separados: la ficha oficial recomienda explícitamente combinar la búsqueda híbrida con el reordenamiento, aprovechando los pesos léxicos obtenidos «sin costo adicional» al mismo tiempo que el embedding denso. La parte léxica compensa precisamente los fallos de la parte densa, y la parte multivectorial sirve para reordenar los aproximadamente veinte candidatos seleccionados. No todas las bases vectoriales pueden aprovechar las tres salidas, pero la salida densa por sí sola ya basta para un uso habitual; de hecho, es la configuración más sencilla de implementar para empezar, antes de añadir la capa léxica si la precisión sigue siendo insuficiente.

!
La decisión se toma antes de la primera importación
Cambiar de modelo de embedding implica volver a codificar todo: los vectores de dos modelos no son comparables. En un corpus considerable, es un proceso de varias horas. Probar dos o tres modelos con una muestra de tus propias preguntas lleva media jornada y evita tener que repetir ese trabajo.

#Usarlo localmente

La forma más rápida de probar BGE-M3 localmente es Ollama, que distribuye una versión cuantizada del modelo con el nombre bge-m3:567m: 567 millones de parámetros, una descarga de aproximadamente 1,2 GB y una ventana de contexto de 8.000 tokens anunciada en la ficha del modelo. Es un modelo basado en XLM-RoBERTa-large, cuya longitud de contexto se amplió primero a 8.192 tokens mediante un preentrenamiento específico (RetroMAE), antes de un ajuste fino unificado para las tres tareas de recuperación en una sola etapa de entrenamiento, en lugar de tener que mantener tres modelos separados.

Terminal — descargar y probar el modelo
ollama pull bge-m3
ollama run bge-m3 "Quel est le délai de rétractation légal en France ?"

Para un pipeline RAG completo, solo la salida densa se puede utilizar directamente en la mayoría de las bases de datos vectoriales estándar (Qdrant, Milvus, pgvector) sin una configuración específica; la salida léxica y la multivectorial requieren un motor capaz de combinarlas, como documentan, por ejemplo, las integraciones de Milvus y Vespa citadas por BAAI.

En una cadena RAG clásica con un LLM local, BGE-M3 reemplaza simplemente el modelo de embeddings predeterminado: se codifica cada fragmento de documento una vez durante la indexación, se codifica la pregunta del usuario en cada consulta, y luego se envían los mejores pasajes encontrados al LLM (Qwen, Mistral, Llama…) cargado en Ollama o LM Studio. La elección del modelo de embeddings y la del modelo de generación son dos decisiones independientes: nada obliga a usar un modelo de la misma familia en ambas etapas, y en la práctica es bastante raro que ocurra.

i
Un detalle que suele engañar
El modelo de embedding utilizado en la indexación debe ser exactamente el mismo que el utilizado en la consulta. Cambiar de versión, aunque sea una versión menor, o de parámetro de normalización entre ambas etapas reduce la pertinencia sin provocar un error visible: el mismo problema silencioso descrito en la introducción, pero autoinfligido esta vez.

#Verificar con tus propios documentos

La mención «más de 100 idiomas» en una ficha de producto no garantiza una calidad uniforme: indica la cobertura, no una puntuación por idioma. BAAI evalúa BGE-M3 en MIRACL (búsqueda multilingüe) y en MLDR, un conjunto de datos de recuperación de documentos largos que abarca 13 idiomas y que el laboratorio publicó específicamente para este modelo, con el pipeline de evaluación correspondiente disponible en acceso abierto. Estas evaluaciones muestran una tendencia general, medida en corpus de investigación estandarizados; no sustituyen una prueba con tu propio corpus, en tu propio ámbito, con tu propio vocabulario técnico y tus propias formulaciones de preguntas.

  1. 01
    Preparar una pequeña muestra representativa
    Veinte a treinta documentos reales del corpus objetivo, con su diversidad habitual de longitud y vocabulario, no una selección cuidadosamente escogida.
  2. 02
    Escribir preguntas como las harían tus usuarios
    Diez a veinte preguntas reales, incluyendo preguntas que usan sinónimos o una formulación diferente a la del documento fuente.
  3. 03
    Comparar dos o tres modelos con la misma muestra
    BGE-M3 frente a un modelo reconocido para el inglés y, si es posible, otro modelo multilingüe. Anotar cuántas veces aparece el pasaje correcto entre los tres primeros resultados.
  4. 04
    Decidir antes de la importación masiva
    La prueba requiere media jornada; cambiar de modelo después de indexar un corpus completo obliga a volver a codificarlo todo, como se recordó más arriba.
→
El catálogo del sitio como referencia
Para comparar el tamaño de un modelo de embedding con los LLM que ya estás ejecutando localmente, el catálogo QuelLLM (quelllm.fr/api/models.json) proporciona los tamaños y necesidades de memoria de los modelos referenciados en el sitio.

#¿Cuánto cuesta?

Es un modelo de embedding más pesado que los pequeños modelos anglófonos de moda: sus 567 millones de parámetros y su descarga de 1,2 GB lo convierten en un modelo de peso medio dentro de la categoría, lejos de los modelos con unas pocas decenas de millones de parámetros que dominan las clasificaciones de velocidad pura. Codifica más lentamente y ocupa más memoria. En la indexación inicial de un gran corpus, esto se nota; en una pregunta aislada, la diferencia es imperceptible frente al tiempo de generación del modelo de lenguaje que viene después.

Otra consecuencia: sus vectores densos tienen una dimensión de 1.024, por lo que el índice ocupa más espacio que el de los modelos con 384 o 768 dimensiones. Con un millón de pasajes, estos cálculos ya no son despreciables, y es el momento de revisar las opciones de compresión de tu base vectorial.

BGE-M3 en la familia de modelos publicados por BAAI
ModeloDimensiónLongitud máximaAlcance
BAAI/bge-m31 0248 192 tokensMultilingüe, tres métodos de recuperación unificados
BAAI/bge-large-en-v1.51 024512 tokensSolo en inglés
BAAI/bge-base-en-v1.5768512 tokensSolo en inglés, más ligero
BAAI/bge-small-en-v1.5384512 tokensSolo inglés, el más ligero

El contraste es claro: a igual dimensión (1 024), BGE-M3 acepta dieciséis veces más tokens por fragmento de texto que bge-large-en-v1.5 y cubre más de 100 idiomas, mientras que toda la familia «en» de BAAI se limita al inglés. Es el precio que hay que pagar, en tamaño de descarga y tiempo de codificación, para no tener que elegir un modelo diferente por cada idioma del corpus ni mantener varios índices separados según el idioma de los documentos entrantes.

#Cuándo elegirlo y cuándo prescindir de él

Decidir honestamente
SituaciónOpciones
Corpus francés o multilingüeBGE-M3 u otro modelo realmente multilingüe
Preguntas en francés sobre documentos en inglésUn modelo multilingüe, imprescindible
Corpus exclusivamente anglófono, prioridad a la velocidadUn pequeño modelo anglófono especializado
Pasajes largos (más allá de 512 tokens) que no se quieren dividir másBGE-M3, por su longitud de entrada de 8.192 tokens
Máquina con recursos muy limitadosUn modelo más ligero, aunque pierda en pertinencia en francés

#FAQ

¿Es bueno BGE-M3 en francés?+
Sí, ese es precisamente su interés: su ficha oficial anuncia compatibilidad con más de 100 idiomas de trabajo, mientras que la mayoría de los modelos mejor clasificados son predominantemente anglófonos. Aun así, compruébalo con tus propias preguntas, ya que las clasificaciones públicas siguen dominadas por el inglés.
¿Se pueden consultar en francés documentos en inglés?+
Es uno de los beneficios de un modelo multilingüe como BGE-M3: la pregunta y el documento no necesitan estar en el mismo idioma para quedar próximos en el espacio vectorial, a diferencia de lo que ocurre con un modelo entrenado en un solo idioma. Es útil para una base documental mixta, por ejemplo, documentación técnica en inglés consultada por un equipo francófono.
¿Se necesita una tarjeta gráfica?+
No, se ejecuta en la CPU: la versión de Ollama pesa aproximadamente 1,2 GB para 567 millones de parámetros, un tamaño razonable para ejecutarla en la CPU. Una GPU reduce significativamente el tiempo de indexación de un gran corpus; para una consulta aislada, la diferencia es insignificante en comparación con el procesamiento posterior de la respuesta por el modelo de lenguaje.
¿Para qué sirven sus tres salidas?+
La salida densa realiza la búsqueda semántica clásica, la léxica (dispersa) recupera términos exactos como referencias y siglas de forma similar a BM25, y la salida multivectorial, al estilo de ColBERT, sirve para reordenar con precisión los mejores candidatos. Usar solo la salida densa ya es una opción válida y la más sencilla de integrar en una base vectorial estándar.
¿Cuántos tokens acepta BGE-M3 por fragmento de texto?+
Hasta 8.192 tokens según su ficha oficial, frente a 512 para la familia de modelos en inglés bge-large-en-v1.5, bge-base-en-v1.5 y bge-small-en-v1.5 del mismo desarrollador. Es útil para indexar pasajes largos como contratos o informes sin dividirlos más, a costa de una codificación más lenta con grandes volúmenes de documentos.
¿Puedo cambiarlo más tarde?+
Sí, a costa de volver a codificar todo el corpus: los vectores de dos modelos no son comparables entre sí, incluso si tienen la misma dimensión. Es mejor probar dos o tres modelos con una muestra antes de la primera importación masiva, en lugar de descubrir el problema después en un corpus ya indexado.
¿El modelo BGE-M3 es mejor que los modelos de OpenAI para el francés?+
Un comparativo independiente citado por BAAI lo coloca en primer lugar tanto en inglés como en otros idiomas frente a modelos de OpenAI en este test específico, pero un solo comparativo no reemplaza una prueba sobre tu corpus. La práctica recomendada sigue siendo probar varios modelos con tus propias preguntas antes de elegir.
¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.