async-annoy menyederhanakan bekerja dengan indeks gangguan dalam aplikasi async seperti server web. Ini dibangun untuk membiarkan Anda membaca atau menulis untuk mengganggu indeks tanpa khawatir tentang kompleksitas akses bersamaan. Anda mendapatkan operasi yang mudah dan aman, apakah Anda menanyakan tetangga terdekat atau membangun indeks, semua di latar belakang.
pip install async-annoyPastikan gangguan dan Numpy diinstal karena diperlukan untuk menjalankan perpustakaan.
Ideal untuk mengambil tetangga terdekat sebagai tanggapan atas permintaan 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 )Penulis akan menunggu semua pembaca menyelesaikan dan memulai indeks dari awal. Perpustakaan yang mengganggu tidak mendukung pembaruan indeks, hanya membangun kembali.
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. Pengaturan awal async-annoy bergantung pada variabel lingkungan untuk mengonfigurasi parameter indeks gangguan, memastikan awal yang mulus. Meskipun default ini menawarkan kenyamanan, Anda mungkin perlu menyesuaikan pengaturan agar sesuai dengan persyaratan spesifik aplikasi Anda. Sangat penting untuk mempertahankan konsistensi parameter di semua pembaca dan penulis yang berinteraksi dengan indeks yang sama.
async-annoy menggunakan variabel lingkungan berikut untuk konfigurasi awal:
ASYNC_ANNOY_DIMENSIONS : dimensi vektor yang disimpan dalam indeks.ASYNC_ANNOY_METRIC : metrik jarak yang digunakan untuk membandingkan vektor dalam indeks (misalnya, "sudut", "euclidean"). Meskipun async-annoy mengonfigurasi dirinya dengan variabel lingkungan, Anda dapat mengganti default ini secara langsung dalam kode Anda. Saat membuat AnnoyReader baru atau AnnoyWriter , cukup lewati dimensi dan metrik yang diinginkan sebagai argumen:
from async_annoy import AsyncAnnoy
# Override default parameters when initializing
index_manager = AsyncAnnoy ( "my_index" , dimensions = 128 , metric = "euclidean" )Saat ini, Async-Annoy ada di Alpha. Ini siap untuk pengujian, dan kami ingin umpan balik Anda membuatnya lebih baik. Ini adalah versi awal, jadi kami masih berupaya menambahkan lebih banyak fitur dan menghaluskan pengalaman.