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 のユーザー指定の値。このリクエストでは、値は次の形式でリクエスト 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
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: 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", }