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

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 partilhar 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 exactos, números de factura Perguntas em linguagem natural, sinónimos, descrições vagas
Falha em Quem usa outras palavras para a mesma coisa Códigos e nomes exactos: pode trazer coisas «parecidas» em vez da pedida
O que exige Nada de especial (a pesquisa do WordPress, a base de dados) Um modelo de embeddings e um sítio 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 é exacto 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 secçã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 numa base de dados preparada para pesquisar por proximidade, ou num ficheiro, 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 demasiado pequenos perdem o contexto; demasiado grandes 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

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 5.940,00 Kz/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?