Executando verificação de segurança...
1

Como funciona a busca vetorial por base de conhecimento no Snipet?

A busca vetorial é o coração do Snipet, é ela que permite “entender” o que você pergunta, mesmo que as palavras não sejam exatamente as mesmas que estão no conteúdo original.

Mas o que isso significa na prática? Vamos por partes 👇


O que é uma base de conhecimento?

No Snipet, cada base de conhecimento é como um espaço de memória especializado.
Ela pode conter documentos, PDFs, artigos, áudios, imagens ou qualquer tipo de dado que você queira tornar pesquisável.

Cada base tem seu próprio modelo de embedding, um modelo responsável por transformar textos em vetores (números que representam o significado das palavras).
Esse modelo é definido quando você cria a base e não pode ser alterado depois, já que ele determina a forma como os dados são armazenados no banco vetorial.


Tipos de modelos no Snipet

O Snipet usa presets de modelos (LLMs), pequenos arquivos JSON que definem como cada modelo deve se comportar.
Existem dois tipos principais:

  • Texto: usados para gerar respostas (eles recebem um prompt e retornam uma resposta).
  • Embedding: usados para “vetorizar” o conteúdo, ou seja, transformar texto em uma representação matemática.

Esses presets ajudam o Snipet a gerar automaticamente formulários de configuração e manter a compatibilidade entre modelos diferentes.


Como o armazenamento funciona

Por baixo dos panos, o Snipet usa o Milvus como vector store, um banco de dados otimizado para armazenar e comparar vetores.

Como diferentes modelos de embedding produzem vetores com dimensões e formatos distintos, o Snipet cria uma coleção separada para cada modelo.
Assim, tudo fica organizado e eficiente.

O processo de salvar um documento funciona assim:

  1. Você envia um documento para uma base de conhecimento.
  2. O documento é dividido em pequenos pedaços (chamados de fragments).
  3. O Snipet identifica qual modelo de embedding essa base usa.
  4. Cada fragmento é convertido em um vetor usando esse modelo.
  5. Todos os vetores são então salvos na coleção correspondente dentro do Milvus.

E na hora da busca?

Quando você faz uma busca, o processo é o inverso:

  1. O Snipet pega o modelo de embedding da base de conhecimento.
  2. Sua consulta (“query”) é transformada em vetor.
  3. O Milvus compara esse vetor com os vetores armazenados.
  4. Ele retorna os fragmentos mais próximos, aqueles com maior semelhança semântica.
  5. O sistema então usa esses fragmentos para gerar uma resposta contextualizada.

Por que isso é poderoso?

Porque o Snipet não faz buscas por palavras exatas, e sim por significado.
Se o documento fala “armazenamento vetorial” e você busca por “banco de vetores”, ele ainda vai entender que é a mesma coisa.

Essa é a mágica da busca vetorial, o sistema aprende o “sentido” das palavras, e não apenas suas letras.


Conclusão

Cada base de conhecimento no Snipet tem:

  • Seu próprio modelo de embedding
  • Sua própria coleção vetorial
  • Um processo independente de indexação e busca

Isso torna o sistema escalável e flexível, permitindo trabalhar com múltiplos modelos e bases diferentes ao mesmo tempo, sem confusão.

Se você ficou curioso sobre o snipet, ele é um projeto open Source mantido por mim, ele vai ter uma versão self host e cloud.
Se quiser dar uma olhada no repositório, é só clicar no link abaixo 👇
Repositório do snipet

Carregando publicação patrocinada...