이미지 코퍼스를 만들고
AnalyzeCorpus
를 실행하여 코퍼스 데이터에 임베딩 신호를 생성한 후 색인
및 색인 엔드포인트를 만들 수 있습니다. 이 색인 엔드포인트에 색인을 배포한 후 기준 필터 기능을 사용하여 시맨틱 검색을 실행할 수 있습니다. 검색 결과에는 관련성 점수를 기준으로 정렬된 이미지 목록이 포함됩니다.
입력 텍스트로 검색
corpus에서 assets를 검색하려면 다음 형식으로 원하는 검색을 사용하여 SearchIndexEndpointRequest를 채웁니다.
text_query: 검색할 텍스트 쿼리입니다.- 선택사항
criteria또는exclusion_criteria: 사용자가 제공한 주석에 대한 필터 기준입니다. 텍스트, 숫자, 불리언 또는 datetime 값에 적용할 수 있습니다.
다음 예에서는 자연 경관 이미지가 포함된 코퍼스를 고려합니다. '해변의 일몰'과 관련된 모든 애셋을 검색하고 주석 "state": "California"로 태그를 지정하려면 다음 요청을 보냅니다 (FIELD_NAME을 state로 바꾸고 FIELD_VALUE를 California로 바꿈).
REST 및 명령줄
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID와 일치하는europe-west4-와 같은 프리픽스가 포함될 수 있습니다. 지역화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: 프로젝트 번호입니다. Google Cloud
- LOCATION_ID: Agent Platform 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: Agent Platform 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: Agent Platform 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
}
]
}