이미지 자료 모음을 만들고 AnalyzeCorpus
를 실행하여 자료 모음 데이터에 삽입 신호를 생성한 후 색인 및 색인 엔드포인트를 만들 수 있습니다. 이 색인 엔드포인트에 색인을 배포한 후에는 기준 필터 기능을 사용하여 시맨틱 검색을 실행할 수 있습니다. 검색 결과에는 관련성 점수로 정렬된 이미지 목록이 포함됩니다.
입력 텍스트로 검색
corpus
에서 assets
를 검색하려면 다음 형식으로 SearchIndexEndpointRequest
에 원하는 검색어를 입력합니다.
text_query
: 검색할 텍스트 쿼리입니다.- 선택사항
criteria
또는exclusion_criteria
: 사용자가 제공한 주석의 필터 기준입니다. 텍스트, 숫자, 불리언 또는 날짜/시간 값에 적용할 수 있습니다.
다음 예에서는 자연 경관 이미지가 포함된 자료 집합을 가정해 보겠습니다. '해변의 일몰'과 관련이 있고 주석 "state": "California"
로 태그된 모든 확장 소재를 검색하려면 다음 요청을 전송합니다 (FIELD_NAME은 state
로, FIELD_VALUE는 California
로 바꿉니다).
REST 및 명령줄
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID
와 일치하는 접두사(예:europe-west4-
)가 포함될 수 있습니다. 지역화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: 프로젝트 번호입니다. Google Cloud
- LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면 다음과 같습니다.
us-central1
,europe-west4
사용 가능한 리전을 참고하세요. - INDEX_ENDPOINT_ID: 타겟 색인 엔드포인트의 ID입니다.
HTTP 메서드 및 URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint
JSON 요청 본문:
{ "text_query": "sunset at beach", "criteria": [ { "field": "state", "text_array": { "txt_values": [ "California" ] } } ] }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "searchResultItems": [ { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1", "relevance": "0.99" }, { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2", "relevance": "0.98" } ] }
입력 이미지로 검색
해변에서 일몰을 촬영한 이미지가 있다면 이를 검색어로 사용하여 유사한 이미지를 검색할 수도 있습니다.
REST 및 명령줄
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID
와 일치하는 접두사(예:europe-west4-
)가 포함될 수 있습니다. 지역화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: 프로젝트 번호입니다. Google Cloud
- LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면 다음과 같습니다.
us-central1
,europe-west4
사용 가능한 리전을 참고하세요. - INDEX_ENDPOINT_ID: 타겟 색인 엔드포인트의 ID입니다.
HTTP 메서드 및 URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint
JSON 요청 본문:
{ "image_query": { "input_image": "IMAGE_BYTES" }, "criteria": [ { "field": "FIELD_NAME", "text_array": { "txt_values": [ "FIELD_VALUE" ] } } ] }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "searchResultItems": [ { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1", "relevance": 0.99 }, { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2", "relevance": 0.98 } ] }
기존 이미지로 검색
자료에 있는 기존 이미지 확장 소재를 사용하여 유사한 이미지를 검색할 수도 있습니다. 첫 번째 검색 결과는 관련성 점수가 1.0인 동일한 이미지 애셋입니다.
REST 및 명령줄
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID
와 일치하는 접두사(예:europe-west4-
)가 포함될 수 있습니다. 지역화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: 프로젝트 번호입니다. Google Cloud
- LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면 다음과 같습니다.
us-central1
,europe-west4
사용 가능한 리전을 참고하세요. - INDEX_ENDPOINT_ID: 타겟 색인 엔드포인트의 ID입니다.
- CORPUS_ID: 타겟 자료의 ID입니다.
- ASSET_ID: 타겟 확장 소재의 ID입니다.
HTTP 메서드 및 URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint
JSON 요청 본문:
{ "image_query": { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID" } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "searchResultItems": [ { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1", "relevance": 1.0 }, { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2", "relevance": 0.99 } ] }