Voyager est une bibliothèque permettant d'effectuer des recherches rapides et approximatives du voisin le plus proche sur une collection de vecteurs en mémoire.
Voyager propose des liaisons à la fois avec Python et Java, avec une parité des fonctionnalités et une compatibilité d'index entre les deux langages. Il utilise l'algorithme HNSW, basé sur le package open source hnswlib
, avec de nombreuses fonctionnalités ajoutées pour plus de commodité et de rapidité. Voyager est largement utilisé en production chez Spotify et est interrogé des centaines de millions de fois par jour pour alimenter de nombreuses fonctionnalités destinées aux utilisateurs.
Pensez à Voyager comme Sparkey, mais pour les données vectorielles/intégrantes ; ou comme Annoy, mais avec un rappel beaucoup plus élevé. Il tire son nom du fait qu'il recherche dans (incorporant) l'espace (s), un peu comme les sondes interstellaires Voyager lancées par la NASA en 1977.
pip install voyager
Ajoutez l'artefact suivant à votre pom.xml
:
< dependency >
< groupId >com.spotify</ groupId >
< artifactId >voyager</ artifactId >
< version >2.0.4</ version >
</ dependency >
Vous pouvez trouver la dernière version sur la page des versions de Voyager.
Ajoutez l'artefact suivant à votre build.sbt
:
" com.spotify " % " voyager " % " 2.0.4 "
Vous pouvez trouver la dernière version sur la page des versions de Voyager.
Système d'exploitation | Langue | Version | x86_64 (Intel) | bras64 (BRAS) |
---|---|---|---|---|
Linux | Python | 3.7 | ✅ | ✅ |
Linux | Python | 3.8 | ✅ | ✅ |
Linux | Python | 3.9 | ✅ | ✅ |
Linux | Python | 3.10 | ✅ | ✅ |
Linux | Python | 3.11 | ✅ | ✅ |
Linux | Python | 3.12 | ✅ | ✅ |
Linux | Java | 8-16+ | ✅ | ✅ |
macOS | Python | 3.7 | ✅ | ✅ |
macOS | Python | 3.8 | ✅ | ✅ |
macOS | Python | 3.9 | ✅ | ✅ |
macOS | Python | 3.10 | ✅ | ✅ |
macOS | Python | 3.11 | ✅ | ✅ |
macOS | Python | 3.12 | ✅ | ✅ |
macOS | Java | 8-16+ | ✅ | ✅ |
Fenêtres | Python | 3.7 | ✅ | |
Fenêtres | Python | 3.8 | ✅ | |
Fenêtres | Python | 3.9 | ✅ | |
Fenêtres | Python | 3.10 | ✅ | |
Fenêtres | Python | 3.11 | ✅ | |
Fenêtres | Python | 3.12 | ✅ | |
Fenêtres | Java | 8-16+ | ✅ |
Les contributions à voyager
sont les bienvenues ! Voir CONTRIBUTING.md pour plus de détails.
Voyager est protégé par copyright 2022-2024 Spotify AB.
Voyager est sous licence Apache 2.