PSA 또는 PSC 색인을 만든 후 쿼리를 실행하여 최근접 이웃을 가져올 수 있습니다.
PSC 색인 쿼리 정보
PSC 색인에서 생성된 컴퓨팅 주소를 사용하여 쿼리를 전송할 수 있습니다.
다음 예시에서 TARGET_IP
를 생성된 컴퓨팅 주소로 바꿉니다.
PSA 색인 쿼리 정보
각 DeployedIndex
에는 TARGET_IP
가 있으며, 이는 IndexEndpoints
를 나열하여 검색할 수 있습니다.
색인 쿼리
DeployedIndex
를 쿼리하려면 포트 10000
에서 TARGET_IP
에 연결하고 Match
또는 BatchMatch
메서드를 호출합니다. 또한 DOC_ID
를 사용하여 쿼리할 수 있습니다.
다음 예시에서는 오픈소스 도구인 grpc_cli
를 사용하여 배포된 색인 서버로 grpc 요청을 보냅니다.
gRPC
첫 번째 예시에서는 Match
메서드를 사용하여 단일 쿼리를 보냅니다.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match 'deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.1,..]'
두 번째 예시에서는 두 개의 개별 쿼리를 동일한 BatchMatch
요청으로 결합합니다.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.BatchMatch 'requests: [{deployed_index_id: "${DEPLOYED_INDEX_ID}", requests: [{deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.1,..]}, {deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.2,..]}]}]'
[서비스가 피어링된 동일한 VPC](#vpc-network-peering-setup)에서 실행 중인 클라이언트에서 이러한 API를 호출해야 합니다.
DOC_ID
를 사용하여 쿼리를 실행하려면 다음 예시를 사용합니다.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match "deployed_index_id:'"test_index1"',embedding_id: '"606431"'"
이 예시에서는 토큰 및 숫자 제한을 사용하여 쿼리를 전송합니다.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match 'deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [1, 1], "sparse_embedding": {"values": [111.0,111.1,111.2], "dimensions": [10,20,30]}, numeric_restricts: [{name: "double-ns", value_double: 0.3, op: LESS_EQUAL}, {name: "double-ns", value_double: -1.2, op: GREATER}, {name: "double-ns", value_double: 0., op: NOT_EQUAL}], restricts: [{name: "color", allow_tokens: ["red"]}]'
자세한 내용은 클라이언트 라이브러리 설명을 참조하세요.
콘솔
다음 안내에 따라 콘솔에서 VPC 색인을 쿼리합니다.
- Google Cloud 콘솔의 Vertex AI 섹션에서 배포 및 사용 섹션으로 이동합니다. 벡터 검색을 선택합니다.
- 쿼리할 VPC 색인을 선택합니다. 색인 정보 페이지가 열립니다.
- 배포된 색인 섹션까지 아래로 스크롤하여 쿼리할 배포된 색인을 선택합니다. 배포된 색인 정보 페이지가 열립니다.
- 쿼리 색인 섹션에서 쿼리 매개변수를 선택합니다. 벡터 또는 특정 데이터 포인트로 쿼리하도록 선택할 수 있습니다.
- 오픈소스 도구인 grpc_cli를 사용하거나 Vertex AI SDK for Python을 사용하여 쿼리를 실행합니다.
성능에 영향을 주는 쿼리 시간 설정
다음 쿼리 시간 매개변수는 벡터 검색을 사용할 때 지연 시간, 가용성, 비용에 영향을 미칠 수 있습니다. 이 가이드는 대부분의 케이스에 적용됩니다. 하지만 항상 구성으로 실험하여 사용 사례에 적합한지 확인해야 합니다.
매개변수 정의는 색인 구성 매개변수를 참조하세요.
매개변수 | 정보 | 성능 영향 |
---|---|---|
approximateNeighborsCount |
각 샤드에서 검색할 적합한 결과 수를 알고리즘에 알려줍니다.
|
|
setNeighborCount |
쿼리에서 반환할 결과 수를 지정합니다. |
값이 300이하면 대부분의 사용 사례에서 성능이 유지됩니다. 값이 더 크면 특정 사용 사례에 맞게 테스트합니다. |
fractionLeafNodesToSearch |
최근접 이웃을 검색할 때 방문할 리프 노드 비율을 제어합니다. 이는 리프 노드당 임베딩이 많을수록 리프당 더 많은 데이터가 검사된다는 점에서 leafNodeEmbeddingCount 와 관련이 있습니다.
|
|
다음 단계
- 색인 업데이트 및 다시 빌드 방법 알아보기
- 벡터 일치 필터링 방법 알아보기
- 색인 모니터링 방법 알아보기