Vision Warehouse インデックス(画像とバッチ動画のバーティカルで使用可能) は、分析された アセットとアノテーションのマネージド表現であるコーパスレベルのリソースです。インデックスは、メディア コンテンツの意味を表すエンベディング ベクトルとセマンティック制限のデータセットと見なすことができます。インデックス は、検索のためにインデックス エンドポイントにデプロイできます。
corpus でインデックスを作成すると、インデックスには、
分析されたすべてのアセットと、
コーパス内の既存のすべてのアノテーションが含まれます。
インデックスの作成後に追加したアセットまたはアノテーションについては、コーパスまたはそれらのアセットを再度分析し、インデックスに含めるようにインデックスを更新する必要があります。
ウェアハウス インデックスを作成する
REST
インデックス リソースを作成するには、
projects.locations.corpora.indexes.create
メソッドを使用して POST リクエストを送信します。
リクエストのデータを使用する前に、 次のように置き換えます。
- REGIONALIZED_ENDPOINT: エンドポイントには、
LOCATION_IDに一致する接頭辞(europe-west4-など)が含まれる場合があります。リージョン エンドポイントの詳細をご覧ください。 - PROJECT_NUMBER: プロジェクト番号。 Google Cloud
- LOCATION_ID: Agent Platform 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
インデックス リソースを更新するには、PATCH
リクエストを
projects.locations.corpora.indexes.patch
メソッドを使用して送信します。
リクエストのデータを使用する前に、 次のように置き換えます。
- REGIONALIZED_ENDPOINT: エンドポイントには、
LOCATION_IDに一致する接頭辞(europe-west4-など)が含まれる場合があります。リージョン エンドポイントの詳細をご覧ください。 - PROJECT_NUMBER: プロジェクト番号。 Google Cloud
- LOCATION_ID: Agent Platform 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 API と RemoveIndexAsset API を使用すると、
インデックスをストリーミング更新できます。これらの API は、バッチ動画の Vision Warehouse でのみサポートされています。
ウェアハウス内のインデックスを一覧表示する
REST
コーパスのインデックスを一覧表示するには、 projects.locations.corpora.indexes.list メソッドを使用して GET リクエストを送信します。
リクエストのデータを使用する前に、 次のように置き換えます。
- REGIONALIZED_ENDPOINT: エンドポイントには、
LOCATION_IDに一致する接頭辞(europe-west4-など)が含まれる場合があります。リージョン エンドポイントの詳細をご覧ください。 - PROJECT_NUMBER: プロジェクト番号。 Google Cloud
- LOCATION_ID: Agent Platform 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: Agent Platform 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: Agent Platform 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: Agent Platform 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: Agent Platform 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",
}