
O QDRANT é um mecanismo de pesquisa e um banco de dados especializado em encontrar semelhanças entre vetores. Ele possui uma API que permite armazenar, pesquisar e gerenciar vetores junto com informações adicionais. O QDRANT foi projetado para oferecer suporte a recursos avançados de filtragem, tornando -o útil para tarefas como correspondência de rede neural, pesquisa facetada e outros aplicativos.
O QDRANT é construído usando a linguagem de programação de ferrugem, que garante desempenho rápido e confiável, mesmo ao lidar com uma grande quantidade de dados. Você pode usar o QDRANT para transformar incorporações ou codificadores de rede neural em aplicativos poderosos para tarefas como correspondência, pesquisa, recomendação e muito mais. Notavelmente, os bancos de dados vetoriais (QDRANT em particular) viram um aumento na popularidade de seu uso como uma loja de vetores em combinação com os LLMs modernos. Veja o plugin de recuperação do ChatGPT para um bom exemplo disso.
Este repositório contém todos os arquivos e configuração necessários para executar um cluster de QDRANT altamente disponível (HA) em uma rede privada Fly.io da organização com comunicação e descoberta ponto a ponto (P2P).
Comece criando um novo aplicativo Fly em sua região preferida. Execute os seguintes comandos dentro do seu garfo ou clone deste repositório. Mas primeiro, certifique -se de definir sua região primária (e nome do aplicativo) no arquivo fly.toml .
Usando o CLI da mosca executa o seguinte:
fly launch --no-public-ips --from https://github.com/kylemclaren/qdrant-on-fly
Este comando cria um novo aplicativo Fly com uma máquina de execução e um volume anexado. Quando solicitado, selecione yes para copiar a configuração existente para o aplicativo recém -gerado. Não crie um banco de dados PostGresql ou a instância do Upstash Redis.
Expanda o cluster clonando a primeira máquina. Atualmente, fly scale count não suporta máquinas de escala com volumes persistentes de armazenamento. Usaremos 'Fly Machine Clone' para escalar nosso cluster.
fly machine clone --region ord --selectfly status Escala a configuração para outra região clonando uma máquina lá. Agora você deve ter dois colegas em ord e outro no jnb .
fly machine clone --region jnb --selectfly statusFly Applications dentro da mesma organização pode se conectar ao seu banco de dados QDRANT usando o seguinte URI:
http:// < fly-app-name > .flycast:6333Primeiro, você precisará alocar um endereço IP de moscas privado para o seu aplicativo. Você pode fazer isso executando o seguinte comando:
fly ips allocate-v6 --private Se você precisar que seu aplicativo seja acessível ao público fora da rede privada Fly, você pode simplesmente alocar um IP público no aplicativo Fly e começar a usar o proxy de mosca para se conectar normalmente (por exemplo, https://<fly-app-name>.fly.dev )
Aviso Se você fizer isso, certifique -se de definir o segredo
QDRANT__SERVICE__API_KEY.
fly proxy : fly proxy 6333:6333 -a < fly-app-name >curl ) para conectar -se à sua instância QDRANT na porta encaminhada. Consulte a documentação do Fly sobre o Volumes para obter mais detalhes sobre como lidar com segurança nos volumes que armazenam seus dados do vetor. curl -H " Content-Type: application/json " http://localhost:6333/cluster | jq{
"result" : {
"status" : " enabled " ,
"peer_id" : 8961156852769025 ,
"peers" : {
"8961156852769025" : {
"uri" : " http://e286376be66286.vm.qdrant-6pn.internal:6335/ "
},
"6238012613461344" : {
"uri" : " http://568370dc75418e.vm.qdrant-6pn.internal:6335/ "
},
"2504460418660966" : {
"uri" : " http://148e722b75d789.vm.qdrant-6pn.internal:6335/ "
}
},
"raft_info" : {
"term" : 1314 ,
"commit" : 3510 ,
"pending_operations" : 0 ,
"leader" : 8961156852769025 ,
"role" : " Leader " ,
"is_voter" : true
},
"consensus_thread_status" : {
"consensus_thread_status" : " working " ,
"last_update" : " 2023-06-20T22:23:48.543413978Z "
},
"message_send_failures" : {}
},
"status" : " ok " ,
"time" : 4.125e-05
}Vá para http: // localhost: 6333/painel para ver o novo QDRANT Dashbaord e interagir com seus dados lá.
Por padrão, dados QDRANT e instantâneos são armazenados em /data/qdrant/ . Se você precisar alterar o local de armazenamento padrão, poderá ajustar as variáveis QDRANT__STORAGE__SNAPSHOTS_PATH e QDRANT__STORAGE__STORAGE_PATH na mosca.toml
WIP
Esta é uma boa ideia?
Provavelmente não ¯_(ツ)_/¯
Se você está enfrentando dificuldades ou tiver alguma dúvida, sinta -se à vontade para criar um problema aqui.
Recomenda -se ativar o registro de depuração antes de apresentar um problema: fly secrets set QDRANT__DEBUG=true QDRANT__LOG_LEVEL=DEBUG
Como alternativa, você pode fazer perguntas na página da comunidade aqui.
Se você deseja contribuir com o projeto, bifurque -o e sinta -se à vontade para enviar solicitações de tração.