기본 요건: 배포된 색인이 있는 Batch Video Warehouse를 만듭니다.
콘솔에서 일괄 동영상 보관함 데이터 검색
콘솔
Gemini Enterprise 에이전트 플랫폼 Vision 대시보드의 창고 탭을 엽니다.
검색할 색인 엔드포인트를 찾아 애셋 검색을 클릭합니다.
동영상 목록 (각각 애셋에 해당)과 상단의 검색창이 표시됩니다. 동영상을 클릭하여 시청하거나 동영상 검색을 시작할 수 있습니다.
검색을 시작하려면 텍스트 쿼리를 입력하거나 이미지를 검색 쿼리로 업로드합니다. 검색 결과 페이지의 오른쪽에 동영상 클립 목록이 표시되며, 각 동영상 클립은 애셋의 연속 동영상 클립에 해당합니다. 동영상 클립은 입력된 질문과의 관련성을 기준으로 순위가 매겨집니다.
검색 결과 페이지의 왼쪽에서
Filters섹션을 사용하여 검색을 미세 조정할 수 있습니다. 각 필터 기준은 데이터 스키마 키와 검색하려는 주석 값으로 구성됩니다. 필터 기준을 지정한 후 검색을 클릭하여 검색을 실행합니다.
명령줄을 사용하여 배치 동영상 보관함 데이터 검색
코퍼스 (corpus)에서 동영상 (assets)을 검색하려면 찾고 싶은 콘텐츠로 searchIndexEndpoint
요청 본문을 채우세요.
이 콘텐츠는 다음과 같은 몇 가지 형식으로 제공됩니다.
text_query또는image_query: 검색할 쿼리입니다.- 선택사항
criteria: 사용자가 제공한 주석의 필터 기준입니다.
다음 예에서는 자연 경관 동영상이 포함된 코퍼스를 고려합니다.
'해변의 일몰'과 관련이 있고 "state": "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"
},
{
"asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2"
}
]
}
해변의 일몰 이미지가 있는 경우 다음 요청을 전송하여 검색어로 사용할 수도 있습니다 (입력 이미지는 base64 인코딩 형식임).
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": "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"
},
{
"asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2"
}
]
}