async-annoy simplifica o trabalho com índices de aborrecimento em aplicativos assíncronos, como servidores da Web. Ele é construído para permitir que você leia ou escreva para incomodar os índices sem se preocupar com as complexidades do acesso simultâneo. Você fica fácil e seguro para operações, esteja consultando vizinhos mais próximos ou construindo o índice, tudo em segundo plano.
pip install async-annoyCertifique -se de que o aborrecimento e o Numpy sejam instalados conforme necessário para executar a biblioteca.
Ideal para buscar vizinhos mais próximos em resposta a solicitações da 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 )O escritor esperará que todos os leitores terminem e iniciem o índice do zero. A Biblioteca Irrive não suporta atualizações de índice, apenas reconstrói.
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. A configuração inicial do async-annoy conta com variáveis de ambiente para configurar os parâmetros do índice de irritação, garantindo uma partida perfeita. Embora esses padrões ofereçam conveniência, pode ser necessário personalizar as configurações para atender aos requisitos específicos do seu aplicativo. É fundamental manter a consistência dos parâmetros em todos os leitores e escritores interagindo com o mesmo índice.
async-annoy usa as seguintes variáveis de ambiente para configuração inicial:
ASYNC_ANNOY_DIMENSIONS : A dimensionalidade dos vetores armazenados no índice.ASYNC_ANNOY_METRIC : A métrica de distância usada para comparar vetores no índice (por exemplo, "angular", "euclidiano"). Embora async-annoy configure-se com variáveis de ambiente, você pode substituir esses padrões diretamente no seu código. Ao criar um novo AnnoyReader ou AnnoyWriter , basta passar as dimensões desejadas e métricas como argumentos:
from async_annoy import AsyncAnnoy
# Override default parameters when initializing
index_manager = AsyncAnnoy ( "my_index" , dimensions = 128 , metric = "euclidean" )Atualmente, o Async-Annoy está em Alpha. Está pronto para testar, e estamos ansiosos por seus comentários para melhorá -lo. Esta é uma versão inicial, por isso ainda estamos trabalhando para adicionar mais recursos e suavizar a experiência.