async-annoy ทำให้การทำงานกับดัชนีรบกวนง่ายขึ้นในแอปพลิเคชัน Async เช่นเว็บเซิร์ฟเวอร์ มันถูกสร้างขึ้นเพื่อให้คุณอ่านหรือเขียนเพื่อรบกวนดัชนีโดยไม่ต้องกังวลเกี่ยวกับความซับซ้อนของการเข้าถึงพร้อมกัน คุณจะได้รับการดำเนินงานที่ง่ายและปลอดภัยจากด้ายไม่ว่าคุณจะสอบถามเพื่อนบ้านที่ใกล้ที่สุดหรือสร้างดัชนีทั้งหมดในพื้นหลัง
pip install async-annoyตรวจสอบให้แน่ใจว่าน่ารำคาญและมีการติดตั้ง Numpy ตามที่จำเป็นในการเรียกใช้ไลบรารี
เหมาะอย่างยิ่งสำหรับการดึงเพื่อนบ้านที่ใกล้ที่สุดเพื่อตอบสนองต่อคำขอเว็บ
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 )ผู้เขียนจะรอให้ผู้อ่านทุกคนเสร็จสิ้นและเริ่มดัชนีตั้งแต่เริ่มต้น ไลบรารีรบกวนไม่สนับสนุนการอัปเดตดัชนีเพียงสร้างใหม่เท่านั้น
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. การตั้งค่าเริ่มต้นของ async-annoy ขึ้นอยู่กับตัวแปรสภาพแวดล้อมเพื่อกำหนดค่าพารามิเตอร์ดัชนีรบกวนเพื่อให้มั่นใจว่าการเริ่มต้นอย่างราบรื่น ในขณะที่ค่าเริ่มต้นเหล่านี้ให้ความสะดวกสบายคุณอาจต้องปรับแต่งการตั้งค่าให้เหมาะกับข้อกำหนดเฉพาะของแอปพลิเคชันของคุณ เป็นสิ่งสำคัญในการรักษาความสอดคล้องของพารามิเตอร์ในผู้อ่านและนักเขียนทุกคนที่มีปฏิสัมพันธ์กับดัชนีเดียวกัน
async-annoy ใช้ตัวแปรสภาพแวดล้อมต่อไปนี้สำหรับการกำหนดค่าเริ่มต้น:
ASYNC_ANNOY_DIMENSIONS : มิติของเวกเตอร์ที่เก็บไว้ในดัชนีASYNC_ANNOY_METRIC : ตัวชี้วัดระยะทางที่ใช้สำหรับเปรียบเทียบเวกเตอร์ในดัชนี (เช่น "Angular", "Euclidean") แม้ว่า async-annoy จะกำหนดค่าตัวเองด้วยตัวแปรสภาพแวดล้อม แต่คุณสามารถแทนที่ค่าเริ่มต้นเหล่านี้ได้โดยตรงในรหัสของคุณ เมื่อสร้าง AnnoyReader ใหม่หรือ AnnoyWriter ให้ผ่านมิติที่ต้องการและตัวชี้วัดเป็นอาร์กิวเมนต์:
from async_annoy import AsyncAnnoy
# Override default parameters when initializing
index_manager = AsyncAnnoy ( "my_index" , dimensions = 128 , metric = "euclidean" )ปัจจุบัน Async-Annoy อยู่ในอัลฟ่า พร้อมสำหรับการทดสอบและเรากระตือรือร้นที่จะให้ความคิดเห็นของคุณเพื่อให้ดีขึ้น นี่เป็นเวอร์ชันเริ่มต้นดังนั้นเรายังคงพยายามเพิ่มคุณสมบัติเพิ่มเติมและทำให้ประสบการณ์เรียบง่าย