async-annoy 웹 서버와 같은 비동기 응용 프로그램에서 성가신 지수로 작업하는 것을 단순화합니다. 동시 접근의 복잡성에 대해 걱정하지 않고 지수를 짜증나게하기 위해 읽거나 쓸 수 있도록 만들어졌습니다. 가장 가까운 이웃을 쿼리하거나 인덱스 구축 등 배경에서 쉽고 스레드 안전 작업을 수행합니다.
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 )작가는 모든 독자들이 처음부터 인덱스를 끝내고 시작하기를 기다릴 것입니다. Ahnoy Library는 인덱스 업데이트를 지원하지 않으며 재 구축 만 지원합니다.
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는 알파에 있습니다. 테스트 준비가되었으며 피드백을 개선하기 위해 열망합니다. 이것은 초기 버전이므로 우리는 여전히 더 많은 기능을 추가하고 경험을 평활화하기 위해 노력하고 있습니다.