• 밀버스 소개
  • 시작하기
  • 개념
  • 사용자 가이드
  • 데이터 가져오기
  • AI 도구
  • 관리 가이드
  • 도구
  • 통합
  • 튜토리얼
  • 자주 묻는 질문
  • API Reference

BIN_FLAT

BIN_FLAT 인덱스는 이진 임베딩 전용으로 맞춤화된 FLAT 인덱스의 변형입니다. 비교적 작은 규모의 백만 개 데이터 세트에서 벡터 유사도 검색의 완벽한 정확도가 요구되는 애플리케이션에서 탁월한 성능을 발휘합니다. 모든 대상 입력을 데이터 세트의 모든 벡터와 비교하는 철저한 검색 방법론을 채택함으로써, BIN_FLAT은 정확한 결과를 보장합니다. 이러한 정밀도 덕분에 100% 미만의 정확도를 제공하는 다른 인덱스의 성능을 평가하는 데 이상적인 벤치마크가 되지만, 철저한 접근 방식 때문에 대규모 데이터에는 가장 느린 옵션이 되기도 합니다.

인덱스 구축

Milvus의 벡터 필드에 BIN_FLAT 인덱스를 구축하려면 add_index() 방법을 사용하여 인덱스에 index_typemetric_type 매개 변수를 지정합니다.

from pymilvus import MilvusClient

# Prepare index building params
index_params = MilvusClient.prepare_index_params()

index_params.add_index(
    field_name="your_binary_vector_field_name", # Name of the vector field to be indexed
    index_type="BIN_FLAT", # Type of the index to create
    index_name="vector_index", # Name of the index to create
    metric_type="HAMMING", # Metric type used to measure similarity
    params={} # No additional parameters required for BIN_FLAT
)

이 구성에서는

  • index_type: 빌드할 인덱스의 유형입니다. 이 예에서는 값을 BIN_FLAT 로 설정합니다.

  • metric_type: 벡터 사이의 거리를 계산하는 데 사용되는 메서드입니다. 바이너리 임베딩에 지원되는 값은 HAMMING (기본값) 및 JACCARD 입니다. 자세한 내용은 메트릭 유형을 참조하세요.

  • params: BIN_FLAT 인덱스에는 추가 매개변수가 필요하지 않습니다.

인덱스 파라미터가 구성되면 create_index() 메서드를 직접 사용하거나 create_collection 메서드에서 인덱스 파라미터를 전달하여 인덱스를 생성할 수 있습니다. 자세한 내용은 컬렉션 생성을 참고하세요.

인덱스에서 검색

인덱스가 생성되고 엔티티가 삽입되면 인덱스에서 유사도 검색을 수행할 수 있습니다.

res = MilvusClient.search(
    collection_name="your_collection_name", # Collection name
    anns_field="binary_vector_field",  # Binary vector field name
    data=[query_binary_vector],  # Query binary vector
    limit=3,  # TopK results to return
    search_params={"params": {}}  # No additional parameters required for BIN_FLAT
)

자세한 내용은 이진 벡터를 참조하세요.

인덱스 매개변수

BIN_FLAT 인덱스의 경우 인덱스 생성이나 검색 과정에서 추가 파라미터가 필요하지 않습니다.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
피드백

이 페이지가 도움이 되었나요?