async-annoy simplifie le travail avec des indices de gain dans des applications asynchrones comme les serveurs Web. Il est conçu pour vous permettre de lire ou d'écrire pour ennuyer les indices sans vous soucier des complexités de l'accès simultané. Vous obtenez des opérations faciles et en file d'attente, que vous interrogez les voisins les plus proches ou que vous construisez l'index, le tout en arrière-plan.
pip install async-annoyAssurez-vous que l'agacement et le numpy sont installés car ils sont nécessaires pour exécuter la bibliothèque.
Idéal pour récupérer les voisins les plus proches en réponse aux demandes Web.
from async_annoy import AsyncAnnoy
async with AsyncAnnoy ( "my_index" ). reader () as reader :
neighbours = await reader . get_neighbours_for ( vector = my_vector , n = 5 )
print ( neighbours )L'écrivain attendra que tous les lecteurs se terminent et démarrent l'index à partir de zéro. La bibliothèque ENATY ne prend pas en charge les mises à jour d'index, ne reconstruise que.
from async_annoy import AsyncAnnoy
async with AsyncAnnoy ( "my_index" ). writer () as writer :
await writer . add_item ( index = 1 , vector = my_vector )
# The index is automatically built and saved when done. La configuration initiale d' async-annoy s'appuie sur des variables d'environnement pour configurer les paramètres d'index GAZ, assurant un démarrage transparent. Bien que ces défauts offrent une commodité, vous devrez peut-être personnaliser les paramètres pour répondre aux exigences spécifiques de votre application. Il est essentiel de maintenir la cohérence des paramètres entre tous les lecteurs et écrivains interagissant avec le même index.
async-annoy utilise les variables d'environnement suivantes pour la configuration initiale:
ASYNC_ANNOY_DIMENSIONS : la dimensionnalité des vecteurs stockés dans l'index.ASYNC_ANNOY_METRIC : la métrique de distance utilisée pour comparer les vecteurs dans l'index (par exemple, "angulaire", "euclidean"). Bien qu'Async async-annoy se configure avec des variables d'environnement, vous pouvez remplacer ces valeurs par défaut directement dans votre code. Lors de la création d'un nouveau AnnoyReader ou AnnoyWriter , passez simplement les dimensions et la métrique souhaitées comme arguments:
from async_annoy import AsyncAnnoy
# Override default parameters when initializing
index_manager = AsyncAnnoy ( "my_index" , dimensions = 128 , metric = "euclidean" )Actuellement, Async-Annoy est en alpha. Il est prêt à tester, et nous sommes impatients que vos commentaires l'améliorent. Il s'agit d'une version initiale, donc nous travaillons toujours à ajouter plus de fonctionnalités et à lisser l'expérience.