Pular para o conteúdo
RAG × MCP

Embeddings

Um embedding é um vetor de números que representa um pedaço de texto. A proximidade entre dois embeddings indica similaridade semântica entre os textos originais.

Um modelo de embedding recebe um texto e devolve um vetor de dimensão fixa. Para um chunk de um documento, o modelo produz:

função de embedding

O valor de depende do modelo. Os modelos mais usados em produção atualmente produzem vetores com 768, 1024, 1536 ou 3072 dimensões. A propriedade que torna esses vetores úteis é a seguinte: dois textos com significado parecido são projetados em vetores próximos no espaço.

Medindo proximidade

A medida mais comum de proximidade em RAG é a similaridade cosseno. Dados dois vetores e , ela é definida como o cosseno do ângulo entre eles:

similaridade cosseno

O numerador é o produto escalar. O denominador é o produto das normas dos dois vetores. Em componentes:

produto escalar
norma L2

A similaridade cosseno sempre cai no intervalo . Vale 1 quando os vetores apontam exatamente na mesma direção, 0 quando são ortogonais e −1 quando apontam em direções opostas. Em embeddings de texto produzidos por modelos treinados em larga escala, os valores típicos ficam acima de 0,5 para pares relacionados e acima de 0,85 para pares quase equivalentes.

Visualização

O espaço abaixo mostra 24 chunks posicionados em três coordenadas. Cada esfera é um chunk, e as cores indicam a categoria. Arraste para rotacionar e aproxime com o scroll. Ao passar o ponteiro sobre uma esfera, o trecho aparece.

Cada esfera é um chunk. Arraste para rotacionar, use o scroll para dar zoom.
Ciência4chunks
História4chunks
Geografia4chunks
Cultura4chunks
Tecnologia4chunks
Economia4chunks

Dimensionalidade real e redução

Na visualização acima, cada ponto tem três coordenadas. Num sistema em produção, os pontos vivem em ou , que a nossa visão não consegue representar direto. A redução para 2D ou 3D é feita por algoritmos como PCA, t-SNE e UMAP, que tentam preservar a vizinhança original: pontos próximos no espaço original continuam próximos após a projeção, com alguma deformação inevitável.

As oito dimensões deste modelo simulado

Os vetores usados no site têm oito dimensões, com rótulos fixos. Cada valor é um número entre zero e um que indica a intensidade daquela dimensão no chunk.

  • TemporalPresença de datas, períodos, sequência, ciclos.
  • GeográficoLugares, regiões, biomas, distâncias.
  • CientíficoMecanismos, causas, fenômenos observáveis.
  • CulturalCostumes, artes, linguagem, tradição.
  • TecnológicoMáquinas, protocolos, software, infraestrutura.
  • HistóricoEventos ancorados no passado, figuras, consequências.
  • NuméricoGrandezas, medidas, quantificação.
  • AfetivoSubjetividade, experiência, valor simbólico.