
QDRANT ist eine Suchmaschine und Datenbank, die sich auf die Suche nach Ähnlichkeiten zwischen Vektoren spezialisiert hat. Es verfügt über eine API, mit der Sie Vektoren zusammen mit zusätzlichen Informationen speichern, suchen und verwalten können. QDRANT wird entwickelt, um erweiterte Filterfunktionen zu unterstützen, wodurch es für Aufgaben wie neuronales Netzwerkanpassung, facettierte Suche und andere Anwendungen nützlich ist.
QDRANT wird unter Verwendung der Rust -Programmiersprache erstellt, die eine schnelle und zuverlässige Leistung gewährleistet, auch wenn es sich um eine große Datenmenge handelt. Sie können QDrant verwenden, um Einbettung oder neuronale Netzwerkcodierer in leistungsstarke Anwendungen für Aufgaben wie Übereinstimmung, Suche, Empfehlung und mehr zu verwandeln. Bemerkenswerterweise haben Vektordatenbanken (insbesondere QDrant) einen Anstieg der Beliebtheit für ihre Verwendung als Vektorspeicher in Kombination mit modernen LLMs. Ein gutes Beispiel dafür finden Sie das Chatgpt -Abruf -Plugin.
Dieses Repository enthält alle Dateien und Konfiguration, die erforderlich sind, um einen hoch verfügbaren QDrant-Cluster (HA) in einem privaten Netzwerk der Fly.io-Organisation mit Peer-to-Peer-Kommunikation (P2P) auszuführen.
Erstellen Sie zunächst eine neue Fly -Anwendung in Ihrer bevorzugten Region. Führen Sie die folgenden Befehle in Ihrer Gabel oder Klon dieses Repositorys aus. Stellen Sie jedoch zunächst unbedingt Ihren primären Bereich (und den App -Namen) in der fly.toml -Datei fest.
Mit der Fly CLI Folgendes laufen::
fly launch --no-public-ips --from https://github.com/kylemclaren/qdrant-on-fly
Dieser Befehl erstellt eine neue Fly -Anwendung mit einer Laufmaschine und einem angehängten Volumen. Wählen Sie bei der Aufforderung yes , um die vorhandene Konfiguration in die neu generierte App zu kopieren. Erstellen Sie keine PostgreSQL -Datenbank oder eine Upstash -Redis -Instanz.
Erweitern Sie den Cluster, indem Sie die erste Maschine klonieren. Derzeit unterstützt fly scale count keine Skalierungsmaschinen mit anhaltenden Speichermengen. Wir werden "Fly Machine Clone" verwenden, um unseren Cluster zu skalieren.
fly machine clone --region ord --selectfly status Skalieren Sie das Setup auf eine andere Region, indem Sie dort eine Maschine klonen. Jetzt sollten Sie zwei Kollegen in ord und ein anderes in jnb haben.
fly machine clone --region jnb --selectfly statusFly -Anwendungen innerhalb derselben Organisation können mit dem folgenden URI eine Verbindung zu Ihrer QDrant -Datenbank herstellen:
http:// < fly-app-name > .flycast:6333Zunächst müssen Sie Ihrer App eine private Flycast -IP -Adresse zuweisen. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
fly ips allocate-v6 --private Wenn Sie Ihre App außerhalb des privaten Netzwerks für Fly-Fly öffentlich zugänglich machen müssen, können Sie einfach eine öffentliche IP für die Fly-App zuweisen und den Fly-Proxy als normal anschließen (d https://<fly-app-name>.fly.dev H.
Warnung Wenn Sie dies tun, stellen Sie unbedingt das
QDRANT__SERVICE__API_KEY-Geheimnis ein.
fly proxy an Ihr lokales System weiter: fly proxy 6333:6333 -a < fly-app-name >curl ), um eine Verbindung zu Ihrer QDrant -Instanz am weitergeleiteten Port herzustellen. Weitere Informationen zum sicheren Umgang mit den Volumes, die Ihre Vektordaten speichern, finden Sie in der Fly -Dokumentation zu Volumes. 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
}Gehen Sie zu http: // localhost: 6333/Dashboard, um den neuen QDrant Dashbaord zu sehen, und interagieren Sie dort mit Ihren Daten.
Standardmäßig werden QDrant -Daten und Schnappschüsse in /data/qdrant/ gespeichert. Wenn Sie den Standardspeicherort ändern müssen, können Sie die QDRANT__STORAGE__SNAPSHOTS_PATH und QDRANT__STORAGE__STORAGE_PATH -Variablen in der Fly.toml einstellen
Wip
Ist das eine gute Idee?
Wahrscheinlich nicht ¯_(ツ)_/¯
Wenn Sie mit Schwierigkeiten konfrontiert sind oder Fragen haben, können Sie hier ein Problem erstellen.
Es wird empfohlen, die Debug -Protokollierung vor der Einreichung eines Problems zu aktivieren: fly secrets set QDRANT__DEBUG=true QDRANT__LOG_LEVEL=DEBUG
Alternativ können Sie hier auf der Community -Seite Fragen stellen.
Wenn Sie zum Projekt beitragen möchten, geben Sie es auf und senden Sie es frei, Pull -Anfragen zu senden.