搜索批量视频仓库数据

前提条件:创建包含已部署索引的批量视频仓库。

在控制台中搜索批量视频仓库数据

控制台

  1. 打开 Vertex AI Vision 信息中心的仓库标签页。

    前往“仓库”标签页

  2. 找到要搜索的索引端点,然后点击搜索素材资源

  3. 您会看到一个视频列表(每个视频对应一个资产),以及顶部的搜索栏。您可以点击视频进行观看,也可以开始搜索视频。

  4. 如需开始搜索,请输入文本查询或上传图片作为搜索查询。 您会在搜索结果页的右侧看到一个视频片段列表,其中每个视频片段都对应于素材资源中的连续视频片段。系统会根据与输入查询的相关性对视频片段进行排名。

  5. 您可以使用搜索结果页左侧的 Filters 部分来优化搜索。每个过滤条件都由数据架构键和您要搜索的注释值组成。指定过滤条件后,点击搜索以执行搜索。

使用命令行搜索批量视频仓库数据

如需搜索语料库 (corpus) 中的视频 (assets),请在 searchIndexEndpoint 请求正文中填充要查找的内容。此类内容有多种不同的形式:

  1. text_queryimage_query:用于搜索的查询。
  2. 可选 criteria:按用户提供的注释过滤条件。

在以下示例中,请考虑一个包含自然风光视频的语料库。如需检索与“海滩日落”相关且标记了注释 "state": "California" 的所有素材资源,请发送以下请求:

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • REGIONALIZED_ENDPOINT:端点可能包含与 LOCATION_ID 匹配的前缀,例如 europe-west4-。详细了解 区域级端点
  • PROJECT_NUMBER:您的 Google Cloud 项目编号
  • LOCATION_ID:您在其中使用 Vertex AI Vision 的区域。例如:us-central1europe-west4。请参阅可用区域
  • INDEX_ENDPOINT_ID:目标索引端点的 ID。

HTTP 方法和网址:

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:您在其中使用 Vertex AI Vision 的区域。例如:us-central1europe-west4。请参阅可用区域
  • INDEX_ENDPOINT_ID:目标索引端点的 ID。

HTTP 方法和网址:

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"
    }
  ]
}