Vision Warehouse 索引 (適用於圖片和批次影片產業) 是語料庫層級的資源,可做為分析素材資源和註解的管理代表。索引可視為嵌入向量和語意限制的資料集,代表媒體內容的意義。索引可以部署到索引端點,供搜尋使用。
在 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 值。在這項要求中,值會以以下格式新增至要求網址:
- https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID
HTTP 方法和網址:
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 方法和網址:
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 Warehouse 的批次影片。
列出倉儲中的索引
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 方法和網址:
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 方法和網址:
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 方法和網址:
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 方法和網址:
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 方法和網址:
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", }