Intermediário 11 minEmbeddings

BGE-M3: embeddings que realmente falam francês

Resposta direta

BGE-M3 (BAAI, licença MIT) é um modelo de embedding que suporta mais de 100 idiomas, aceita até 8.192 tokens por trecho e gera três representações em uma única execução: densa (sentido global), lexical (termos exatos, no estilo BM25) e multivetorial (reclassificação no estilo ColBERT). Em um corpus em francês, é uma escolha mais segura do que os modelos voltados ao inglês presentes nos rankings públicos. Cabe em 1,2 GB via Ollama (bge-m3:567m) e funciona sem placa de vídeo.

A maioria dos modelos de embedding mais bem classificados é treinada predominantemente com textos em inglês. Quando usados em um corpus em francês, eles funcionam sem erros, mas recuperam informações com menos eficácia — a falha mais insidiosa que existe, pois nada a sinaliza. BGE-M3, publicado pelo laboratório chinês BAAI, é um dos poucos modelos realmente multilíngues e ainda tem uma particularidade útil: produz três tipos de representações de uma só vez, sem custo adicional.

Por Mohamed Meguedmi·Atualização 2026-09-30·Testado no Windows, macOS e Linux

#O problema francês

Um modelo de embedding aprende sua noção de similaridade com seu corpus de treinamento. Se esse corpus for composto em 90% por conteúdo em inglês, o modelo posiciona corretamente os textos em inglês uns em relação aos outros, mas faz isso com muito menos precisão para os textos em francês. Na prática, em um corpus documental em francês, isso resulta em trechos relevantes que não são recuperados e trechos fora do assunto que são recuperados — sem nenhuma mensagem de erro, sem avisos nos logs e muitas vezes sem que ninguém perceba até que um usuário relate uma resposta que não tem nada a ver com a pergunta.

É por isso que a pergunta “qual modelo de embedding” não tem a mesma resposta em todos os idiomas. Os rankings públicos (como o MTEB) são amplamente dominados por tarefas em inglês; eles não preveem o que acontecerá com seus documentos nem com seu vocabulário especializado. Foi precisamente para esse caso que o laboratório chinês BAAI (Beijing Academy of Artificial Intelligence) projetou o BGE-M3: o nome significa Multi-Functionality, Multi-Linguality, Multi-Granularity — três funções de busca, mais de 100 idiomas e entradas que vão de frases curtas a documentos longos, reunidas em um único modelo em vez de distribuídas entre várias ferramentas.

#O que o BGE-M3 traz

O kit RAG Local

Seus documentos, sua IA: um RAG local confiável para seus PDFs, notas e e-mails — sem enviar nada para a nuvem.

  • Espaço online vitalício
  • PDF + arquivos
  • Atualizações vitalícias
Multilíngue desde a concepção
O modelo suporta mais de 100 idiomas de trabalho, de acordo com sua ficha oficial; trata o francês corretamente e permite também fazer consultas em francês sobre um corpus em inglês.
Contexto longo: 8.192 tokens
Aceita sequências muito mais longas do que a maioria dos modelos de embedding (geralmente limitados a 512 tokens), o que permite mais liberdade na escolha do tamanho dos trechos indexados.
Três representações ao mesmo tempo
Densa, lexical e multivetorial, produzidas em uma única passagem, sem custo computacional adicional segundo a BAAI.
Licença MIT
Pode ser usado em empresas sem restrições específicas; verifique sempre a ficha do modelo ao integrá-lo, pois a licença pode mudar de uma versão para outra.
Nenhuma instrução a ser adicionada
Diferentemente de outros modelos BGE mais antigos, o BGE-M3 não exige mais a inclusão de uma instrução nas requisições: basta usá-lo diretamente, o que simplifica a integração.

#Denso, lexical, multivetorial: para que serve

Três saídas, três usos (definições retiradas da ficha oficial do modelo)
RepresentaçãoO que ela capturaO que ela oferece
DenseO texto reduzido a um único vetor que captura seu significado globalBusca semântica clássica
Lexical (esparsa)Peso por termo do vocabulário, nulo a não ser para palavras presentes no textoEncontra referências, siglas e nomes próprios que a busca semântica deixa passar, à maneira do BM25
Multi-vecteurVários vetores por texto, no estilo de ColBERTUma reclassificação mais precisa dos melhores candidatos

A vantagem é poder fazer busca híbrida sem precisar rodar dois modelos separados: a ficha oficial recomenda explicitamente a combinação de busca híbrida + reclassificação, com base nos pesos lexicais obtidos “sem custo adicional” ao mesmo tempo que o embedding denso. A parte lexical compensa precisamente as falhas da parte densa, e a parte multivetorial serve para reclassificar os cerca de vinte candidatos selecionados. Nem todas as bases vetoriais conseguem aproveitar as três saídas, mas a saída densa sozinha já basta para um uso convencional — aliás, essa é a configuração mais simples de implementar para começar, antes de adicionar a camada lexical se a precisão ainda for insuficiente.

!
A escolha é feita antes da primeira importação
Mudar de modelo de embedding exige recodificar tudo: os vetores de dois modelos não são comparáveis. Em um corpus grande, esse processamento leva várias horas. Testar dois ou três modelos em uma amostra das suas próprias perguntas leva meio dia e evita esse retrabalho.

#Usá-lo localmente

A forma mais rápida de testar o BGE-M3 localmente é usar o Ollama, que distribui uma versão quantizada do modelo sob o nome bge-m3:567m — 567 milhões de parâmetros, com um download de aproximadamente 1,2 GB e uma janela de contexto de 8.000 tokens anunciada na ficha do modelo. Trata-se de um modelo baseado em XLM-RoBERTa-large, cujo comprimento de contexto foi inicialmente ampliado para 8.192 tokens por um pré-treinamento dedicado (RetroMAE), antes de um ajuste fino unificado para as três tarefas de recuperação em uma única etapa de treinamento, em vez de três modelos separados para manter.

Terminal — baixar e testar o modelo
ollama pull bge-m3
ollama run bge-m3 "Quel est le délai de rétractation légal en France ?"

Para um pipeline RAG completo, apenas a saída densa pode ser usada diretamente pela maioria dos bancos de dados vetoriais padrão (Qdrant, Milvus, pgvector) sem configuração específica; as saídas lexical e multivetorial exigem um mecanismo capaz de combiná-las, como documentam, por exemplo, as integrações Milvus e Vespa citadas pela BAAI.

Em uma cadeia RAG clássica com um LLM local, BGE-M3 substitui simplesmente o modelo de embedding padrão: cada trecho de documento é codificado uma vez durante a indexação, a pergunta do usuário é codificada em cada requisição, e então os melhores trechos encontrados são enviados para o LLM (Qwen, Mistral, Llama…) carregado no Ollama ou no LM Studio. A escolha do modelo de embedding e a escolha do modelo de geração são duas decisões independentes: nada obriga a usar um modelo da mesma família para as duas etapas, e isso raramente acontece na prática.

i
Um detalhe que costuma atrapalhar
O modelo de embedding usado na indexação deve permanecer estritamente idêntico ao usado na consulta. Mudar de versão, mesmo que seja uma versão secundária, ou de parâmetro de normalização entre as duas etapas degrada a relevância sem provocar erro visível — o mesmo problema silencioso descrito na introdução, mas desta vez causado por você.

#Verificar em seus próprios documentos

A indicação “mais de 100 idiomas” em uma ficha de produto não é uma garantia de qualidade uniforme: indica cobertura, não uma pontuação por idioma. O BAAI avalia o BGE-M3 no MIRACL (busca multilíngue) e no MLDR, um conjunto de dados de recuperação de documentos longos que abrange 13 idiomas e que o laboratório publicou especificamente para esse modelo, com o pipeline de avaliação correspondente disponível em acesso livre. Essas avaliações mostram uma tendência geral, medida em corpus de pesquisa padronizados; elas não substituem um teste no seu próprio corpus, no seu próprio domínio, com seu próprio vocabulário técnico e suas próprias formulações de perguntas.

  1. 01
    Formar uma pequena amostra representativa
    Vinte a trinta documentos reais do corpus-alvo, com sua diversidade habitual de extensão e vocabulário, e não uma seleção escolhida a dedo.
  2. 02
    Escrever perguntas como seus usuários as fariam
    Dez a vinte perguntas reais, incluindo perguntas que usam sinônimos ou formulação diferente da do documento original.
  3. 03
    Comparar dois ou três modelos na mesma amostra
    BGE-M3 em comparação com um modelo reconhecido para inglês e, se possível, outro modelo multilíngue. Anotar quantas vezes o trecho correto aparece nos três primeiros resultados.
  4. 04
    Decidir antes da importação em massa
    O teste leva meio dia; mudar de modelo após a indexação de um corpus completo exige recodificar tudo, como mencionado acima.
→
O catálogo do site como referência
Para entender o tamanho de um modelo de embedding em comparação com os LLM que você já está rodando localmente, o catálogo QuelLLM (quelllm.fr/api/models.json) fornece os tamanhos e necessidades de memória dos modelos listados no site.

#Quanto custa

É um modelo de embedding mais pesado que os pequenos modelos de língua inglesa em voga: seus 567 milhões de parâmetros e seu download de 1,2 GB fazem dele um modelo de porte médio para a categoria, longe dos modelos com algumas dezenas de milhões de parâmetros que dominam os rankings de velocidade pura. Ele codifica mais lentamente e ocupa mais memória. Isso é perceptível na indexação inicial de um grande corpus; em uma pergunta isolada, a diferença é imperceptível diante do tempo de geração do modelo de linguagem que vem em seguida.

Outra consequência: seus vetores densos têm dimensão de 1.024, então o índice ocupa mais espaço do que modelos com 384 ou 768 dimensões. Em um milhão de passagens, a aritmética já não é desprezível, e é o momento de considerar as opções de compressão da sua base vetorial.

BGE-M3 na família de modelos publicada pela BAAI
ModeloDimensãoComprimento máximoAbrangência
BAAI/bge-m31 0248 192 tokensMultilíngue, três métodos de recuperação unificados
BAAI/bge-large-en-v1.51 024512 tokensApenas em inglês
BAAI/bge-base-en-v1.5768512 tokensApenas em inglês, mais leve
BAAI/bge-small-en-v1.5384512 tokensApenas em inglês, o mais leve

O contraste é nítido: com a mesma dimensão (1 024), o BGE-M3 aceita dezesseis vezes mais tokens por passagem que o bge-large-en-v1.5 e cobre mais de 100 idiomas, enquanto toda a família “en” da BAAI se limita ao inglês. Esse é o preço a pagar, em tamanho de download e tempo de codificação, para não ter que escolher um modelo diferente para cada idioma do corpus, nem manter vários índices separados conforme o idioma dos documentos recebidos.

#Quando escolhê-lo, quando dispensá-lo

Decidir com honestidade
SituaçãoEscolha
Corpus francês ou multilíngueBGE-M3 ou outro modelo realmente multilingue
Perguntas em francês sobre documentos em inglêsUm modelo multilíngue, obrigatoriamente
Corpus exclusivamente em inglês, prioridade à velocidadeUm pequeno modelo anglofone especializado
Trechos longos (acima de 512 tokens) que não queremos subdividir maisBGE-M3, por sua capacidade de entrada de 8.192 tokens
Máquina com recursos muito limitadosUm modelo mais leve, mesmo que isso implique uma perda de relevância em francês

#FAQ

O BGE-M3 é bom em francês?+
Sim, esse é precisamente seu diferencial: sua ficha oficial anuncia suporte a mais de 100 idiomas de trabalho, enquanto a maioria dos modelos mais bem classificados é predominantemente anglófona. Ainda assim, teste com suas próprias perguntas, pois os rankings públicos continuam dominados pelo inglês.
É possível fazer perguntas em francês sobre documentos em inglês?+
É um dos benefícios de um modelo multilíngue como BGE-M3: a pergunta e o documento não precisam estar na mesma língua para ficarem próximos no espaço vetorial, ao contrário de um modelo treinado em uma única língua. É útil para uma base documental mista, por exemplo, uma documentação técnica em inglês consultada por uma equipe que fala francês.
É necessária uma placa de vídeo?+
Não, ele roda no processador: a versão Ollama pesa cerca de 1,2 GB para 567 milhões de parâmetros, um tamanho razoável para execução em CPU. Uma GPU reduz significativamente o tempo de indexação de um grande corpus; para uma consulta isolada, a diferença é desprezível em comparação com o processamento posterior da resposta pelo modelo de linguagem.
Para que servem suas três saídas?+
A saída densa realiza a busca semântica clássica, a lexical (esparsa) captura termos exatos, como referências e siglas, à maneira do BM25, e a saída multivetorial, no estilo ColBERT, serve para reclassificar os melhores candidatos com maior precisão. Usar apenas a saída densa já é um uso válido e o mais simples de integrar a uma base vetorial padrão.
Quantos tokens o BGE-M3 aceita por trecho?+
Até 8.192 tokens de acordo com sua ficha oficial, contra 512 para a família de modelos em inglês bge-large-en-v1.5, bge-base-en-v1.5 e bge-small-en-v1.5 do mesmo fornecedor. Isso é útil para indexar trechos longos, como contratos ou relatórios, sem precisar dividi-los ainda mais, ao custo de uma codificação mais lenta em grandes volumes de documentos.
Posso trocar de modelo mais tarde?+
Sim, ao custo de uma recodificação completa do corpus: os vetores de dois modelos não são comparáveis entre si, mesmo que tenham a mesma dimensão. É melhor testar dois ou três modelos em uma amostra antes da primeira importação em massa, em vez de descobrir o problema depois em um corpus já indexado.
O BGE-M3 é melhor que os modelos da OpenAI para o francês?+
Um comparativo independente citado por BAAI o coloca em primeiro lugar, tanto em inglês quanto em outras línguas, frente a modelos da OpenAI nesse teste específico, mas um único comparativo não substitui um teste sobre seu próprio corpus. A boa prática continua sendo testar vários modelos com suas próprias perguntas antes de escolher.
Este guia ajudou você?

Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.