ClickHouse para busca vetorial!
- Usar os recursos de filtragem e busca de texto completo do ClickHouse para refinar seus dados antes de realizar uma busca.
- Fazer análises nos seus dados.
- Executar um
JOINcom seus dados existentes. - Não precisar gerenciar mais um banco de dados e complicar sua infraestrutura.
1
Criar embeddings
Seus dados (documentos, imagens ou dados estruturados) devem ser convertidos em embeddings. Recomendamos criar embeddings usando a OpenAI Embeddings API ou a biblioteca Python de código aberto SentenceTransformers.Você pode pensar em um embedding como um grande vetor de números de ponto flutuante que representa seus dados. Confira este guia da OpenAI para saber mais sobre embeddings.
2
Armazenar os embeddings
Depois de gerar os embeddings, você precisa armazená-los no ClickHouse. Cada embedding deve ser armazenado em uma linha separada e pode incluir metadados para filtragem, agregações ou analytics. Aqui está um exemplo de uma tabela que pode armazenar imagens com legendas:
3
Buscar embeddings relacionados
Digamos que você queira buscar fotos de cachorros nos seus dados. Você pode usar uma função de distância como Esta consulta retorna os nomes de
cosineDistance para usar o embedding de uma imagem de cachorro como entrada e buscar imagens relacionadas:_file e caption das 10 imagens com maior probabilidade de estarem relacionadas à imagem de cachorro fornecida.