Embeddings e pesquisa semântica: encontrar por significado no seu próprio conteúdo

IA e Agentes··· 346 visualizações· 3 min de leitura

Um embedding é uma lista de números que representa o significado de um texto. Dois textos que dizem coisas parecidas têm listas parecidas, mesmo sem compartilhar palavras. É isto que permite uma pesquisa semântica: quem escreve «não consigo entrar na minha conta» encontra o artigo «recuperar o acesso», que não tem a palavra «entrar». É a peça que está por baixo dos assistentes que respondem a partir de documentos (RAG), mas também serve sozinha.

Pesquisa por palavras ou por significado

Por palavras (a normal) Por significado (embeddings)
Como encontra Procura as palavras escritas Compara o sentido da pergunta com o dos textos
Bom para Códigos, referências, nomes exatos, números de fatura Perguntas em linguagem natural, sinônimos, descrições vagas
Falha em Quem usa outras palavras para a mesma coisa Códigos e nomes exatos: pode trazer coisas «parecidas» em vez da pedida
O que exige Nada de especial (a pesquisa do WordPress, o banco de dados) Um modelo de embeddings e um lugar onde guardar os números
Custo e privacidade Fica no seu servidor O texto vai a um modelo, de um fornecedor ou seu

O melhor resultado costuma vir de juntar as duas: a pesquisa por palavras para o que é exato e a por significado para o resto.

Para que serve num site pequeno

1 Pesquisa no site que percebe perguntas. O visitante escreve como fala e encontra a página certa.
2 «Artigos parecidos» no fim de cada artigo, sem os escolher à mão.
3 Encaminhar pedidos de suporte: comparar uma mensagem com as perguntas frequentes e sugerir a resposta mais próxima.
4 Encontrar duplicados ou textos repetidos num site grande.

O que é preciso montar

1 Cortar o conteúdo em pedaços que tratem de uma coisa cada (uma seção, uma pergunta).
2 Gerar um embedding por pedaço, com um modelo próprio para isso. Os modelos de resposta e os de embeddings são diferentes; cada um tem a sua página de preços.
3 Guardar os números num banco de dados preparado para pesquisar por proximidade, ou num arquivo, se o conteúdo for pequeno. Veja instalar o PostgreSQL num VPS.
4 Na pesquisa, converter a pergunta num embedding com o mesmo modelo e buscar os mais próximos.
5 Refazer os embeddings quando o texto mudar. Texto novo com números velhos dá resultados errados.

A qualidade depende muito de como corta o texto. Pedaços pequenos demais perdem o contexto; grandes demais misturam assuntos. Experimente com perguntas reais e veja o que a pesquisa devolve antes de a ligar ao site.

Misturar modelos estraga tudo. Os números de um modelo não são comparáveis com os de outro. Se mudar de modelo, tem de refazer todos os embeddings.
Para um site de poucas dezenas de páginas, pode não valer a pena montar nada: uma boa página de perguntas frequentes e uma pesquisa normal bem afinada resolvem a maior parte. Veja RAG explicado.

Quer montar uma pesquisa deste tipo num servidor seu? Veja os planos de VPS.

Ver planos de VPS

VEJA TAMBÉM

IA que responde a partir dos seus documentos (RAG)

Como se contam os tokens nas APIs de IA

Instalar o PostgreSQL num VPS

PRODUTO RECOMENDADO

Hospedagem de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom)

Ver planos
Esta resposta foi útil? Sua resposta nos ajuda a melhorar este artigo.