비전 창고 색인 (이미지 및 일괄 동영상 업로드 카테고리에서 사용 가능)은 분석된 애셋과 주석의 관리형 표현인 코퍼스 수준 리소스입니다. 색인은 미디어 콘텐츠의 의미를 나타내는 임베딩 벡터와 시맨틱 제한사항의 데이터 세트로 볼 수 있습니다. 색인을 검색을 위해 색인 엔드포인트에 배포할 수 있습니다.
corpus
에 색인을 만들면 색인에 분석된 모든 애셋과 코퍼스의 기존 주석이 모두 포함됩니다.
색인을 만든 후 추가하는 애셋 또는 주석의 경우 코퍼스 또는 해당 애셋을 다시 분석하고 색인을 업데이트하여 색인에 포함해야 합니다.
창고 색인 만들기
REST
색인 리소스를 만들려면 projects.locations.corpora.indexes.create
메서드를 사용하여 POST 요청을 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID
와 일치하는 접두사가 포함될 수 있습니다(예:europe-west4-
). 리전화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: Google Cloud 프로젝트 번호
- LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면
us-central1
,europe-west4
입니다. 사용 가능한 리전을 참고하세요. - CORPUS_ID: 타겟 코퍼스의 ID입니다.
- INDEX_ID: (선택사항) 색인 ID에 대해 사용자가 제공한 값입니다. 이 요청에서 값은 다음과 같은 형식으로 요청 URL에 추가됩니다.
- https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID
HTTP 메서드 및 URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
JSON 요청 본문:
{ "display_name": "DISPLAY_NAME", "description": "INDEX_DESCRIPTION", }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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/corpora/CORPUS_ID/indexes"
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/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexMetadata" } }
창고 색인 업데이트
UpdateIndex API를 사용하면 display_name
, description
과 같은 색인의 메타데이터 필드와 기본 색인 콘텐츠(assets
및 해당 annotations
)를 업데이트할 수 있습니다.
요청의 update_mask
필드(필드 마스크라고도 함)는 업데이트로 Index 리소스에서 덮어쓸 필드를 지정하는 데 사용됩니다. update_mask
에 지정된 필드는 전체 요청이 아닌 해당 리소스를 기준으로 합니다. 마스크에 있으면 리소스의 필드를 덮어씁니다. 빈 필드 마스크는 허용되지 않습니다. 마스크가 '*'이면 색인의 전체 업데이트와 색인 데이터의 전체 재빌드가 트리거됩니다.
REST
색인 리소스를 업데이트하려면 projects.locations.corpora.indexes.patch
메서드를 사용하여 PATCH 요청을 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID
와 일치하는 접두사가 포함될 수 있습니다(예:europe-west4-
). 리전화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: Google Cloud 프로젝트 번호
- LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면
us-central1
,europe-west4
입니다. 사용 가능한 리전을 참고하세요. - CORPUS_ID: 타겟 코퍼스의 ID입니다.
- INDEX_ID: 타겟 색인의 ID입니다.
?update_mask=fieldToUpdate
:update_mask
을 적용할 수 있는 필드의 목록입니다. 요청 본문에서 새 필드의 해당 값을 지정합니다. 이 새 값은 기존 필드 값을 대체합니다. 쉼표로 구분된 값으로 여러 필드를 지정할 수 있습니다. 사용 가능한 필드:- 표시 이름:
?update_mask=display_name
- 설명:
?update_mask=description
- 기본 색인 데이터 업데이트:
?update_mask=entire_corpus
- 모든 필드 업데이트:
?update_mask=*
- 표시 이름:
HTTP 메서드 및 URL:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus
JSON 요청 본문:
{ "display_name": "DISPLAY_NAME", "entire_corpus": true }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X PATCH \
-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/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.UpdateIndexMetadata" } }
스트리밍 색인 업데이트
IndexAsset
및 RemoveIndexAsset
API를 사용하면 색인에 스트리밍 업데이트를 할 수 있습니다. 이러한 API는 일괄 동영상의 Vision 웨어하우스에서만 지원됩니다.
창고의 색인 나열
REST
코퍼스에 속한 색인을 나열하려면 projects.locations.corpora.indexes.list 메서드를 사용하여 GET 요청을 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID
와 일치하는 접두사가 포함될 수 있습니다(예:europe-west4-
). 리전화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: Google Cloud 프로젝트 번호
- LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면
us-central1
,europe-west4
입니다. 사용 가능한 리전을 참고하세요. - CORPUS_ID: 타겟 코퍼스의 ID입니다.
HTTP 메서드 및 URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "indexes": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID_1", "display_name": "DISPLAY_NAME_1", "description": "DESCRIPTION_1", "entireCorpus": true, "state": "CREATED" }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID_2", "display_name": "DISPLAY_NAME_2", "description": "DESCRIPTION_2", "entireCorpus": true, "state": "CREATED" } ] }
색인 가져오기
REST
인덱스에 대한 세부정보를 가져오려면 projects.locations.corpora.indexes.get 메서드를 사용하여 GET 요청을 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID
와 일치하는 접두사가 포함될 수 있습니다(예:europe-west4-
). 리전화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: Google Cloud 프로젝트 번호
- LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면
us-central1
,europe-west4
입니다. 사용 가능한 리전을 참고하세요. - CORPUS_ID: 타겟 코퍼스의 ID입니다.
- INDEX_ID: 타겟 색인의 ID입니다.
HTTP 메서드 및 URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "display_name": "DISPLAY_NAME", "description": "DESCRIPTION", "entireCorpus": true, "state": "CREATED" }
색인 아래의 애셋 보기
REST
인덱스에 있는 애셋에 관한 세부정보를 가져오려면 projects.locations.corpora.indexes.viewAssets 메서드를 사용하여 GET 요청을 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID
와 일치하는 접두사가 포함될 수 있습니다(예:europe-west4-
). 리전화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: Google Cloud 프로젝트 번호
- LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면
us-central1
,europe-west4
입니다. 사용 가능한 리전을 참고하세요. - CORPUS_ID: 타겟 코퍼스의 ID입니다.
- INDEX_ID: 타겟 색인의 ID입니다.
- PAGE_SIZE: (선택사항) 반환할 결과 수입니다.
- PAGE_TOKEN: (선택사항) 이전 호출 응답에서 제공된
nextPageToken
입니다. 결과의 다음 페이지를 가져오는 데 사용할 수 있습니다.
HTTP 메서드 및 URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "indexedAssets": [ { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1" }, { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2" } ], "nextPageToken": "NEXT_PAGE_TOKEN" }
필터를 사용하여 색인이 생성된 애셋 보기
projects.locations.corpora.indexes.viewAssets 메서드의 filter
필드를 사용하여 쉼표로 구분된 애셋 ID 목록을 제공하면 색인 아래의 모든 애셋을 필터링하고 제공된 애셋만 표시할 수 있습니다.
REST
인덱스에 있는 애셋을 나열하고 필터링하려면 projects.locations.corpora.indexes.viewAssets 메서드를 사용하여 GET 요청을 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID
와 일치하는 접두사가 포함될 수 있습니다(예:europe-west4-
). 리전화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: Google Cloud 프로젝트 번호
- LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면
us-central1
,europe-west4
입니다. 사용 가능한 리전을 참고하세요. - CORPUS_ID: 타겟 코퍼스의 ID입니다.
- INDEX_ID: 타겟 색인의 ID입니다.
- PAGE_SIZE: (선택사항) 반환할 결과 수입니다.
- PAGE_TOKEN: (선택사항) 이전 호출 응답에서 제공된
nextPageToken
입니다. 결과의 다음 페이지를 가져오는 데 사용할 수 있습니다. - ASSET_ID_FILTER: (선택사항) 반환된 목록에서 필터링할 애셋 ID를 쉼표로 구분한 목록입니다. 예를 들면 다음과 같습니다.
?filter=ASSET_ID_1"
?filter=ASSET_ID_1,ASSET_ID_2"
HTTP 메서드 및 URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "indexedAssets": [ { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1" }, { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2" } ], "nextPageToken": "NEXT_PAGE_TOKEN" }
색인 삭제
색인은 indexEndpoint
에 배포되지 않은 경우에만 삭제할 수 있습니다.
배포된 색인을 삭제하기 전에 색인 배포 취소 가이드를 따르세요.
REST
색인 리소스를 삭제하려면 projects.locations.corpora.indexes.delete 메서드를 사용하여 DELETE 요청을 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID
와 일치하는 접두사가 포함될 수 있습니다(예:europe-west4-
). 리전화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: Google Cloud 프로젝트 번호
- LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면
us-central1
,europe-west4
입니다. 사용 가능한 리전을 참고하세요. - CORPUS_ID: 타겟 코퍼스의 ID입니다.
- INDEX_ID: 타겟 색인의 ID입니다.
HTTP 메서드 및 URL:
DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID", }