创建特征

您可以在创建特征组并将 BigQuery 表或 BigQuery 视图与其关联后创建特征。您可以为一个特征组创建多个特征,并将每个特征与 BigQuery 数据源中的特定列相关联。如需了解如何使用 BigQuery,请参阅 BigQuery 文档

例如,如果特征组 featuregroup1 与在 fval1fval2 列中包含特征值的 BigQuery 表 datasource_1 相关联,则您可以在 featuregroup1 下创建特征 feature_1 并将其与列 fval1 中的特征值相关联。同样,您可以创建另一个名为 feature_2 的特征,并将其与 fval2 列中的特征值相关联。

使用特征组和特征注册数据源具有以下优势:

  • 您可以使用来自多个 BigQuery 数据源的特定特征列来定义用于在线传送的特征视图。

  • 您可以通过添加 feature_timestamp 列将数据格式化为时序格式。Vertex AI Feature Store 仅传送特征数据中的最新特征值,不包括历史值。

使用以下示例可在特征组中创建特征,并关联一个列,其中包含为特征组注册的 BigQuery 数据源中的特征值。

控制台

请按照以下说明使用 Google Cloud 控制台向现有特征组添加特征。

  1. 在 Google Cloud 控制台的“Vertex AI”部分,转到 Feature Store 页面。

    转到 Feature Store 页面

  2. 特征组部分中,点击要在其中添加特征的特征组对应的行中的 ,然后点击添加特征

  3. 对于每个特征,请输入特征名称,然后点击列表中相应的 BigQuery 源列名称。如需添加更多特征,请点击添加其他特征

  4. 点击创建

REST

如需创建 Feature 资源,请使用 features.create 方法发送 POST 请求。

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

  • LOCATION_ID:特征组所在的区域,例如 us-central1
  • PROJECT_ID:您的项目 ID。
  • FEATUREGROUP_NAME:要在其中创建特征的特征组的名称。
  • FEATURE_NAME:您要创建的新特征的名称。
  • VERSION_COLUMN_NAME(可选):您要与特征关联的 BigQuery 表或视图中的列。如果未指定此参数,则默认设置为 FEATURE_NAME

HTTP 方法和网址:

POST http://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/features?feature_id=FEATURE_NAME

请求 JSON 正文:

{
  "version_column_name": "VERSION_COLUMN_NAME"
}

如需发送请求,请选择以下方式之一:

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 \
"http://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/features?feature_id=FEATURE_NAME"

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 "http://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/features?feature_id=FEATURE_NAME" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/features/FEATURE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.UpdateFeatureOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T02:36:22.870679Z",
      "updateTime": "2023-09-18T02:36:22.870679Z"
    }
  }
}

后续步骤