Los mejores modelos de embeddings FR
Para francés, BGE-M3 es el punto de partida más seguro: multilingüe, 8.192 tokens de contexto, licencia MIT, disponible en Ollama. Qwen3-Embedding y EmbeddingGemma son las alternativas recientes para probar. Los modelos centrados en inglés (nomic-embed-text, mxbai-embed-large, all-MiniLM) se deben evitar para francés. La elección final se valida con tus propios documentos.
Un modelo de embeddings convierte cada texto en un vector: es él quien decide que «CDD» y «contrato de duración determinada» son vecinos. Para el francés, el benchmark MTEB-French registra una diferencia de 22 puntos en recuperación entre BGE-M3 y all-MiniLM-L12-v2. Esta página clasifica los modelos abiertos que se pueden utilizar en local, cita las mediciones publicadas y sus limitaciones, y luego aborda lo que resulta caro en producción: prefijos, truncación, dimensiones, almacenamiento y reindexación.
#¿Qué es un modelo de embedding y por qué el francés lo complica?
Un modelo de embedding es una red neuronal que convierte un texto (una frase, un párrafo, un chunk) en un vector de números, de 384 a 4.096 dimensiones según el modelo. Dos textos con significados similares generan vectores próximos, cuya proximidad suele medirse mediante la similitud coseno. Esto permite a un RAG encontrar un pasaje sobre el «contrato de duración determinada» cuando el usuario escribe «CDD», sin ninguna palabra en común. El mismo modelo debe codificar las preguntas y los documentos, como recuerda la documentación de Ollama; cambiar de modelo obliga, por tanto, a reindexar todo el corpus. Para elegir, bastan tres preguntas: ¿se ha entrenado el modelo con textos en francés? ¿Su contexto abarca tus chunks? ¿Su licencia permite el uso que quieres darle?
El francés añade sus propias dificultades: acentos, elisiones (« l'employeur »), siglas jurídicas, anglicismos técnicos mezclados con el texto. La diferencia entre modelos es clara. En el benchmark MTEB-French, la puntuación de recuperación va de 0,43 para all-MiniLM-L12-v2 a 0,65 para BGE-M3, lo que representa una diferencia de 22 puntos en el mismo conjunto de preguntas.
#Los cinco criterios que realmente diferencian a los modelos
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
- Idiomas de entrenamiento
- BGE-M3 y Qwen3-Embedding anuncian más de 100 idiomas; multilingual-e5-large, 94. Las fichas de nomic-embed-text-v1.5 y de mxbai-embed-large-v1, modelos muy descargados en Ollama, llevan la etiqueta English.
- Contexto máximo
- 512 tokens para multilingual-e5-large, Solon y mxbai-embed-large; 2 048 para EmbeddingGemma; 8 192 para BGE-M3; 32 000 para Qwen3-Embedding y Granite R2. Un chunk más largo se trunca, no se rechaza.
- Dimensiones y almacenamiento
- De 384 a 4.096 dimensiones, es decir, 4 bytes por dimensión y por vector en float32 (cálculo más abajo).
- Licencia
- MIT para BGE-M3, multilingual-e5-large y Solon; Apache 2.0 para Qwen3-Embedding, Granite R2, nomic y mxbai; condiciones Gemma para EmbeddingGemma; CC BY-NC 4.0 (no comercial) para jina-clip-v2.
- Prefijos e instrucciones
- Algunos modelos requieren un prefijo delante de cada texto (« query: » y « passage: » para E5, incluso en francés). Olvidarlo empeora la recuperación de información sin generar ningún error.
#Clasificación 2026 para el francés: nueve modelos comparados
Este ranking es editorial, no un test interno: combina cobertura en francés, benchmarks publicados y disponibilidad local. Los pesos provienen de la biblioteca Ollama cuando el modelo está presente, de lo contrario provienen del float32 estimado por el estudio MTEB-French.
| Modelo | Dimensiones / contexto | Licencia | Tamaño del modelo | Lo que dicen las fuentes sobre el francés |
|---|---|---|---|---|
| BGE-M3 (BAAI) | 1 024 / 8 192 | MIT | 1,2 GB (Ollama) | Recuperación en MTEB-French: 0,65. Representaciones densas, dispersas y multivector. Punto de partida recomendado. |
| Qwen3-Embedding 0,6B / 4B / 8B | 1 024 / 2 560 / 4 096 ; 32 000 | Apache 2.0 | 639 MB / 2,5 GB / 4,7 GB (Ollama) | Más de 100 idiomas. MTEB multilingüe según Qwen: 64,33 / 69,45 / 70,58. |
| EmbeddingGemma 300M (Google) | 768 (512, 256, 128) / 2 048 | Gemma | 622 MB (Ollama) | Más de 100 idiomas. MTEB multilingüe v2: 61,15 según Google. |
| multilingual-e5-large | 1 024 / 512 | MIT | 2,24 GB (float32) | Retrieval MTEB-French 0,59. Prefijos obligatorios. |
| Solon-embeddings-large-0.1 | 1 024 / 512 | MIT | 2,24 GB (float32) | Modelo francés publicado por Ordalie Technologies. Retrieval MTEB-French 0,63. |
| Granite Embedding 311M Multilingual R2 (IBM) | 768 / 32 768 | Apache 2.0 | 311 M parámetros | Francés entre los 52 idiomas reforzados. 65,2 en recuperación MTEB multilingüe según IBM; no se ha consultado ninguna medición independiente para el francés. |
| nomic-embed-text v1.5 | 768 / 8 192 (2 048 en Ollama) | Apache 2.0 | 274 MB (Ollama) | Ficha etiquetada como modelo en inglés. Reservar para corpus en inglés. |
| mxbai-embed-large-v1 | contexto 512 | Apache 2.0 | 670 MB (Ollama) | Ficha etiquetada como modelo en inglés. Reservar para corpus en inglés. |
| all-MiniLM-L12-v2 | 384 | Apache 2.0 | 33 M de parámetros | Recuperación MTEB-French 0,43. Prototipo solo para CPU. |
BGE-M3 sigue siendo la mejor opción por defecto: su rendimiento en recuperación de información en francés está publicado, su contexto de 8 192 tokens evita la mayoría de las divisiones forzadas y también proporciona los pesos léxicos útiles para una búsqueda híbrida. Qwen3-Embedding es el candidato cuando se dispone de una tarjeta gráfica: su versión 8B encabezaba la clasificación multilingüe MTEB cuando se lanzó, el 5 de junio de 2025, según Qwen, pero sus 4 096 dimensiones aumentan las necesidades de almacenamiento. EmbeddingGemma está pensado para máquinas modestas.
Solon, a menudo presentado como el especialista en francés jurídico y administrativo, no gana en ninguno de los tres conjuntos de datos de recuperación del estudio MTEB-French: empata con BGE-M3 en el convenio colectivo Syntec y queda por detrás en los artículos de ley (BSARD) y las preguntas escolares (Alloprof).
#Lo que dicen los benchmarks franceses, y lo que no dicen
La referencia publicada es MTEB-French (Ciancone et al., mayo de 2024): 18 conjuntos de datos, 8 categorías de tareas, 51 modelos comparados. Los autores concluyen que los grandes modelos multilingües preentrenados para la similitud entre frases ofrecen resultados excepcionalmente buenos. Estos son los resultados de recuperación (NDCG@10) en tres conjuntos: artículos de leyes en francés (BSARD), convenio colectivo Syntec y preguntas escolares de Alloprof.
| Modelo | Recuperación media | Derecho (BSARD) | Convenio Syntec | Alloprof |
|---|---|---|---|---|
| text-embedding-3-large (API OpenAI) | 0,73 | 0,73 | 0,87 | 0,60 |
| mistral-embed (API Mistral) | 0,68 | 0,68 | 0,79 | 0,57 |
| BGE-M3 | 0,65 | 0,60 | 0,85 | 0,49 |
| Solon-embeddings-large-0.1 | 0,63 | 0,58 | 0,85 | 0,47 |
| multilingual-e5-large | 0,59 | 0,59 | 0,81 | 0,38 |
| multilingual-e5-small | 0,52 | 0,52 | 0,76 | 0,27 |
| paraphrase-multilingual-MiniLM-L12-v2 | 0,44 | 0,38 | 0,66 | 0,27 |
| all-MiniLM-L12-v2 | 0,43 | 0,34 | 0,61 | 0,33 |
Tres limitaciones impiden convertirlo en una clasificación definitiva. El estudio data de 2024: no incluye ni Qwen3-Embedding (junio de 2025), ni EmbeddingGemma (septiembre de 2025), ni Granite R2, y para esta página no se ha consultado ninguna medición comparable en francés de estos modelos. Los corpus (artículos de leyes, un convenio colectivo, preguntas escolares) no se parecen necesariamente a los tuyos. Por último, las puntuaciones multilingües publicadas por los desarrolladores son autodeclaradas y agrupan todas las lenguas.
#Qué modelo para qué caso: tabla de decisión
| Tu situación | Modelo que probar primero | Por qué | Aspecto a tener en cuenta |
|---|---|---|---|
| Corpus en francés o en francés + inglés, equipo de prestaciones razonables | BGE-M3 | Puntuación de recuperación de información en francés de 0,65, al nivel de los mejores modelos abiertos del estudio | 1,2 GB en Ollama; sin prefijo |
| Jurídico, administrativo, RRHH | BGE-M3, luego Solon para comparar | BGE-M3 iguala o supera a Solon en los tres conjuntos de datos en francés del estudio | Un modelo sin un conjunto interno de pruebas jurídicas sigue siendo una apuesta |
| Máquina modesta o solo CPU | EmbeddingGemma 300M, o multilingual-e5-small | 622 MB en Ollama; diseñado por Google para portátiles y móviles | Contexto de 2.048 tokens: fragmentos cortos |
| Tarjeta gráfica disponible, calidad máxima | Qwen3-Embedding-4B o 8B | 32 000 tokens, dimensiones ajustables, más de 100 idiomas | 2 560 y 4 096 dimensiones: almacenamiento y límites de índice |
| Fragmentos largos, documentos estructurados | BGE-M3, Qwen3-Embedding o Granite R2 | 8.192 a 32.768 tokens de contexto | Un chunk muy largo diluye el sentido |
| Uso comercial, auditoría de licencia | BGE-M3, multilingual-e5-large, Solon, Qwen3-Embedding, Granite R2 | MIT o Apache 2.0 | Revisa las condiciones de Gemma; jina-clip-v2 es solo para uso no comercial |
#Embedding empresarial personalizado: modelo abierto, fine-tuning o API
«A medida» no quiere decir entrenar tu propio modelo desde el principio. El orden que evita perder tiempo: un modelo abierto genérico, una segmentación cuidadosa, una búsqueda híbrida y un reranker; luego, una medición del recall con tus preguntas reales; luego, solo si los fallos persisten y se deben al vocabulario del sector (referencias internas, siglas propias), un fine-tuning.
Philipp Schmid realizó en junio de 2024 un ajuste fino del modelo bge-base-en-v1.5 con 6 300 pares pregunta-pasaje extraídos de documentos financieros: la puntuación de recuperación mejoró aproximadamente un 7,4 % en su conjunto de prueba, con un entrenamiento de tres minutos en una tarjeta gráfica de consumo. Es un caso en inglés, sobre un único corpus, con pares generados por un LLM: un orden de magnitud, no una promesa. BAAI también documenta el ajuste fino de BGE-M3.
| Opción | Cuándo elegirla | Límites |
|---|---|---|
| Modelo abierto genérico en local (BGE-M3, Qwen3-Embedding) | Punto de partida por defecto; los textos permanecen en tu red; licencia MIT o Apache | Vocabulario del sector no aprendido; evaluar con tus documentos |
| Fine-tuning de un modelo abierto | Recall estancado pese a la búsqueda híbrida y al reranker; varios miles de pares pregunta-pasaje | Corpus que hay que volver a codificar; modelo que hay que versionar como un programa; riesgo de sobreajuste |
| API de embeddings (Mistral, OpenAI) | Sin GPU, volumen moderado; text-embedding-3-large y mistral-embed encabezan el estudio MTEB-French de 2024 | Los textos salen de tu red; el modelo puede cambiar por parte del proveedor; costo recurrente |
#Embedding multimodal: buscar en imágenes y páginas de documentos
Un modelo de embeddings multimodal coloca texto e imágenes en el mismo espacio vectorial. Así, se puede recuperar una foto a partir de una frase o una página de PDF escaneada sin necesidad de OCR. Los modelos de la biblioteca Ollama consultados en esta página (BGE-M3, Qwen3-Embedding, EmbeddingGemma, nomic-embed-text, mxbai-embed-large) aceptan únicamente texto: los modelos multimodales a continuación se usan a través de Hugging Face (Sentence-Transformers o Transformers).
| Modelo | Entradas | Licencia | A tener en cuenta |
|---|---|---|---|
| Qwen3-VL-Embedding 2B / 8B | Texto, imágenes, capturas de pantalla, video | Apache 2.0 | 32 000 tokens; 2 048 y 4 096 dimensiones; dimensiones ajustables |
| jina-clip-v2 | Texto e imágenes; 94 idiomas | CC BY-NC 4.0 | No comercial: descartar para un producto o servicio de pago sin autorización del editor |
| ColPali v1.3 | Páginas de documentos en imagen, multivectores | MIT (ficha) | Ficha con el inglés indicado como idioma; varios vectores por página cambian el almacenamiento |
Un modelo multimodal no es mejor en texto puro. En las tablas publicadas por Qwen, Qwen3-VL-Embedding-2B obtiene 63,87 en MTEB multilingüe, frente a 64,33 de Qwen3-Embedding-0.6B, un modelo de texto más de tres veces más pequeño. Para los PDF cuyo contenido útil es texto, conviértelos en texto limpio (Docling o un OCR) y mantén un embedding de texto. Reserva el multimodal para corpus visuales: esquemas, planos, capturas, diapositivas.
#Gestionar tus embeddings: prefijos, truncamiento, almacenamiento y reindexación
El rendimiento de un RAG suele empeorar más por estos detalles que por la elección del modelo. Primer detalle: cada familia de modelos espera un formato de entrada diferente para las preguntas y para los documentos.
| Modelo | Antes de la pregunta | Antes del documento |
|---|---|---|
| BGE-M3 | Nada | Nada |
| multilingual-e5-large | query: | passage: (obligatorio, incluso en francés) |
| Solon-embeddings-large-0.1 | query : | Nada |
| nomic-embed-text v1.5 | search_query: | search_document: |
| mxbai-embed-large-v1 | Representa esta frase para buscar pasajes relevantes: | Nada |
| Qwen3-Embedding | Instruct: {tarea en una frase}, salto de línea, Query: {pregunta} | Nada |
| EmbeddingGemma | task: search result | query: {question} | title: {título o none} | text: {contenido} |
Con Ollama, el ejemplo oficial de mxbai-embed-large coloca el prefijo directamente en el texto enviado: añádelo tú mismo en tu código. Qwen indica que las instrucciones aportan, por lo general, una mejora de entre el 1 y el 5 %, y recomienda escribirlas en inglés incluso para un corpus multilingüe.
#La trampa de Ollama: el truncamiento silencioso
El punto de acceso /api/embed de Ollama tiene un parámetro truncate cuyo valor predeterminado es true: una entrada que supera la ventana de contexto del modelo se recorta sin generar ningún error. Con mxbai-embed-large (512 tokens en Ollama), un fragmento de 700 tokens se indexa sin su parte final y nadie se da cuenta. El contexto de Ollama también puede diferir del indicado en la ficha original: 2K para nomic-embed-text, frente a los 8 192 anunciados por Nomic. Establece truncate en false durante las pruebas: es mejor un error que un texto truncado.
#Dimensiones, almacenamiento y límites de índice
El almacenamiento se calcula simplemente: número de chunks × dimensiones × 4 bytes en float32, sin índice. Para un millón de chunks, los vectores solos ocupan:
| Dimensiones | Ejemplo de modelo | Almacenamiento |
|---|---|---|
| 256 | EmbeddingGemma o Qwen3 reducidos (Matryoshka) | 1,0 GB |
| 384 | all-MiniLM-L12-v2 | 1,5 GB |
| 768 | EmbeddingGemma, Granite R2, nomic | 3,1 GB |
| 1 024 | BGE-M3, multilingual-e5-large, Qwen3-0.6B | 4,1 GB |
| 2 560 | Qwen3-Embedding-4B | 10,2 GB |
| 4 096 | Qwen3-Embedding-8B | 16,4 GB |
Las bases de datos también imponen límites. Con pgvector, un índice se aplica a vectores de hasta 2.000 dimensiones, o 4.000 en media precisión (halfvec): las 4.096 dimensiones de Qwen3-Embedding-8B superan incluso este límite. La solución es truncar los vectores, algo que permiten los modelos entrenados con Matryoshka (Qwen3-Embedding, EmbeddingGemma, nomic v1.5), y luego renormalizarlos, como especifica Google para EmbeddingGemma. La API /api/embed de Ollama acepta un parámetro dimensions, que debes reservar para estos modelos.
#Versionar y reindexar
- Metadatos que hay que conservar
- Nombre exacto del modelo, revisión, dimensión, plantilla de prefijo, parámetros de chunking, fecha de indexación. Sin estos metadatos, nadie sabe por qué ha cambiado la recuperación.
- Cambio de modelo
- Vuelve a codificar todo el corpus en una nueva colección, evalúala y después pasa a utilizarla. Nunca mezcles dos modelos en la misma colección.
- Normalización
- Ollama devuelve vectores normalizados en L2: utiliza la misma métrica (coseno o producto escalar) en todas partes.
#Usar un modelo en la práctica y probarlo en tus documentos
Fíjate solo en el orden de las dos puntuaciones: la primera debe superar claramente a la segunda. Para comparar seriamente dos o tres candidatos, el siguiente procedimiento sustituye todas las clasificaciones publicadas.
- 01Crear un conjunto de pruebas realReúne entre 50 y 100 preguntas planteadas por usuarios reales (soporte, tickets, preguntas frecuentes) y anota para cada una el chunk que contiene la respuesta. Las preguntas inventadas por un LLM hacen que los resultados parezcan mejores de lo que son.
- 02Codificar con cada modelo candidatoCodifica los chunks y después las preguntas, respetando la tabla de prefijos y manteniendo la misma longitud de chunk y la misma dimensión de almacenamiento para todos los candidatos.
- 03Medir el recall@5Para cada pregunta, verifica si el chunk adecuado aparece entre los cinco primeros resultados. El script a continuación realiza este cálculo.
- 04Tomar una decisión con un criterio de costoQuédate con el modelo más ligero cuyo recall@5 se mantenga a uno o dos puntos del mejor: un modelo ocho veces más grande supone un mayor coste de almacenamiento y de tiempo en cada reindexación.
- Sentence Transformers: los embeddings en local
- Estrategias de chunking: el tamaño de los chunks frente al contexto del modelo
- Búsqueda híbrida BM25 + vectorial
- Añadir un reranker antes de realizar el ajuste fino
- pgvector: límites de dimensiones e índices
- Ragas: evaluar tu RAG con cifras
- Fuente: ficha oficial de BGE-M3 (BAAI)
- Fuente: MTEB-French, estudio de Ciancone et al. (2024)
- Fuente: documentación de embeddings de Ollama
- Fuente: ficha de Qwen3-Embedding
- Fuente: ficha de EmbeddingGemma (Google)
¿Cuál es el mejor modelo de embedding para el francés?+
¿Se puede usar nomic-embed-text o mxbai-embed-large en francés?+
¿Existe un modelo bge-m4?+
¿Se debe reindexar cuando se cambia de modelo de embedding?+
¿Un modelo de embeddings multimodal reemplaza a un modelo de texto?+
¿Se necesita un embedding a medida para una empresa?+
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.