벡터 검색 인덱스를 Databricks Apps 리소스로 추가하여 애플리케이션에서 의미 체계 검색 및 유사성 기반 검색을 사용하도록 설정합니다. 벡터 검색 인덱스는 고차원 벡터 포함을 저장하고 쿼리하며 RAG(검색 보강 생성), 의미 체계 검색 및 권장 사항 시스템과 같은 사용 사례를 지원합니다.
권한 요구 사항
벡터 검색 인덱스 액세스하려면 앱의 서비스 주체에 USE CATALOG 부모 카탈로그에 대한 권한, USE SCHEMA 부모 스키마에 대한 권한 및 SELECT 인덱스의 권한이 있어야 합니다. 인덱스 리소스를 추가하면 Azure Databricks는 앱의 서비스 주체에 이러한 권한을 자동으로 부여합니다.
이 자동 부여가 성공하려면 각 권한에 대해 다음 중 하나가 true여야 합니다.
-
의 경우
USE CATALOG: 모든 계정 사용자가 카탈로그에USE CATALOG권한이 있거나, 당신이 카탈로그에MANAGE권한을 가지고 있습니다. -
의 경우
USE SCHEMA: 모든 계정 사용자가 스키마에 대한USE SCHEMA권한을 가지고 있거나, 당신이 스키마에 대한MANAGE권한을 가지고 있습니다. -
의 경우
SELECT: 모든 계정 사용자에게SELECT권한이 인덱스에 있거나, 당신에게MANAGE권한이 인덱스에 있습니다.
이러한 사용 권한으로 벡터 검색 인덱스를 쿼리하는 방법에 대한 자세한 내용은 벡터 검색 인덱스를 쿼리하는 방법을 참조하세요.
Unity 카탈로그 권한 및 보안 개체을 참조하세요.
벡터 검색 인덱스 리소스 추가
벡터 검색 인덱스를 리소스로 추가하기 전에 앱 리소스 필수 구성 요소를 검토합니다.
- 앱을 만들거나 편집할 때 구성 단계로 이동합니다.
- 앱 리소스 섹션에서 + 리소스 추가를 클릭합니다.
- 리소스 유형으로 벡터 검색 인덱 스 선택
- 작업 영역에서 사용 가능한 인덱스에서 벡터 검색 인덱스를 선택합니다. 인덱스가 Unity 카탈로그에 이미 있어야 합니다.
- 앱에 대한 권한 수준을 선택합니다.
- 다음을 선택할 수 있습니다. 유사성 검색을 위해 벡터 검색 인덱스를 쿼리할 수 있는 권한을 앱에 부여합니다. SELECT 권한에 해당합니다.
- (선택 사항) 앱 구성에서 인덱스 참조 방법인 사용자 지정 리소스 키를 지정합니다. 기본 키는 .입니다
vector-search-index.
비고
벡터 검색 인덱스는 형식 TABLE_ONLINE_VECTOR_INDEX_REPLICA 또는 TABLE_ONLINE_VECTOR_INDEX_DIRECT의 Unity 카탈로그 테이블입니다. 벡터 검색 인덱스를 선택하면 의미 체계 검색 작업을 지원하는 특별히 구성된 테이블을 선택합니다.
환경 변수
벡터 검색 인덱스 리소스를 사용하여 앱을 배포하는 경우 Azure Databricks는 필드를 사용하여 valueFrom 참조할 수 있는 환경 변수를 통해 전체 3단계 이름을 노출합니다.
구성 예제:
env:
- name: VECTOR_SEARCH_INDEX
valueFrom: vector-search-index # Use your custom resource key if different
애플리케이션에서 인덱스 사용:
import os
from databricks.sdk import WorkspaceClient
# Access the vector search index name
index_name = os.getenv("VECTOR_SEARCH_INDEX")
# Initialize workspace client
w = WorkspaceClient()
# Query the vector search index
results = w.vector_search_indexes.query_index(
index_name=index_name,
query_text="What is machine learning?",
num_results=10
)
# Process results
for result in results.manifest.columns:
print(f"Result: {result}")
자세한 내용은 환경 변수를 사용하여 리소스에 액세스하는 방법을 참조하세요.
벡터 검색 인덱스 리소스 제거
앱에서 벡터 검색 인덱스 리소스를 제거하면 앱의 서비스 주체가 인덱스에 대한 액세스 권한을 잃게 됩니다. 인덱스 자체는 변경되지 않고 적절한 권한이 있는 다른 사용자 및 애플리케이션에서 계속 사용할 수 있습니다.
모범 사례
벡터 검색 인덱스 리소스를 사용하는 경우 다음을 고려합니다.
- 인덱스가 다른 테이블을 참조하는 경우 앱의 서비스 주체가 기본 데이터 원본에 액세스할 수 있는지 확인합니다.
- 응답 시간이 저하되는 경우 쿼리 성능을 모니터링하고 인덱스 구성을 조정하거나 모델을 포함합니다.
- 원본 데이터와 동기화된 포함을 유지하려면 인덱스 새로 고침 일정을 고려합니다.
- 포함 모델에 따라 적절한 유사성 메트릭(코사인, 유클리드, 점 제품)을 사용합니다.