
Qdrant es un motor de búsqueda y una base de datos que se especializa en encontrar similitudes entre vectores. Tiene una API que le permite almacenar, buscar y administrar vectores junto con información adicional. Qdrant está diseñado para admitir capacidades de filtrado avanzadas, lo que lo hace útil para tareas como la coincidencia de redes neuronales, la búsqueda facetada y otras aplicaciones.
Qdrant se construye utilizando el lenguaje de programación de óxido, que garantiza un rendimiento rápido y confiable incluso cuando se trata de una gran cantidad de datos. Puede usar QDRANT para transformar integrados o codificadores de redes neuronales en aplicaciones potentes para tareas como la coincidencia, la búsqueda, la recomendación y más. En particular, las bases de datos de vectores (Qdrant en particular) han visto un aumento en la popularidad para su uso como una tienda vectorial en combinación con los LLM modernos. Vea el complemento de recuperación de ChatGPT para obtener un buen ejemplo de esto.
Este repositorio contiene todos los archivos y configuración necesarios para ejecutar un clúster Qdrant (HA) altamente disponible en la red privada de una organización de Fly.io con comunicación y descubrimiento de igual a igual (P2P).
Comience creando una nueva aplicación de mosca en su región preferida. Ejecute los siguientes comandos dentro de su bifurcación o clon de este repositorio. Pero primero, asegúrese de establecer su región primaria (y nombre de la aplicación) en el archivo fly.toml .
Usando la Fly CLI corre lo siguiente:
fly launch --no-public-ips --from https://github.com/kylemclaren/qdrant-on-fly
Este comando crea una nueva aplicación de mosca con una máquina de ejecución y un volumen adjunto. Cuando se le solicite, seleccione yes para copiar la configuración existente a la aplicación recién generada. No cree una base de datos PostgreSQL o una instancia de Redis Redis.
Expanda el clúster clonando la primera máquina. Actualmente, fly scale count no admite máquinas de escala con volúmenes de almacenamiento persistentes. Usaremos 'Fly Machine Clone' para escalar nuestro clúster.
fly machine clone --region ord --selectfly status Escala la configuración a otra región clonando una máquina allí. Ahora deberías tener dos compañeros en ord y otro en jnb .
fly machine clone --region jnb --selectfly statusLas aplicaciones de mosca dentro de la misma organización pueden conectarse a su base de datos Qdrant utilizando el siguiente URI:
http:// < fly-app-name > .flycast:6333Primero, deberá asignar una dirección IP de FlyCast privada a su aplicación. Puede hacer esto ejecutando el siguiente comando:
fly ips allocate-v6 --private Si necesita que su aplicación sea accesible públicamente fuera de la red privada Fly, simplemente puede asignar una IP pública a la aplicación Fly y comenzar a usar el proxy de moscas para conectarse como lo normal (es decir, https://<fly-app-name>.fly.dev )
ADVERTENCIA Si hace esto, asegúrese de establecer el secreto
QDRANT__SERVICE__API_KEY.
fly proxy : fly proxy 6333:6333 -a < fly-app-name >curl ) para conectarse a su instancia de Qdrant en el puerto reenviado. Consulte la documentación de Fly sobre volúmenes para obtener más detalles sobre cómo manejar de manera segura los volúmenes que almacenan sus datos vectoriales. 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
}Dirígete a http: // localhost: 6333/tablero para ver el nuevo qdrant dashbaord e interactúa con tus datos allí.
De forma predeterminada, los datos de Qdrant y las instantáneas se almacenan en /data/qdrant/ . Si necesita cambiar la ubicación de almacenamiento predeterminada, puede ajustar las variables QDRANT__STORAGE__SNAPSHOTS_PATH y QDRANT__STORAGE__STORAGE_PATH en la mosca.
Ceñudo
¿Es esta una buena idea?
Probablemente no ¯_(ツ)_/¯
Si enfrenta dificultades o tiene alguna consulta, no dude en crear un problema aquí.
Se recomienda habilitar el registro de depuración antes de presentar un problema: fly secrets set QDRANT__DEBUG=true QDRANT__LOG_LEVEL=DEBUG
Alternativamente, puede hacer preguntas en la página de la comunidad aquí.
Si está buscando contribuir al proyecto, bifurca y no dude en enviar solicitudes de extracción.