创建特征

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

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

在创建特征之前,特征组必须关联特征数据源。如果特征组没有关联的数据源, 您必须先通过 更新特征组来关联 BigQuery 数据源,然后才能在其中创建特征。

如需了解使用特征组和特征注册特征数据是强制性、可选还是不建议,请参阅以下内容:

准备工作

向 Gemini Enterprise Agent Platform 进行身份验证,除非您已完成此操作。

选择标签页以了解您打算如何使用本页面上的示例:

控制台

当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。

Python

如需在本地开发环境中使用本页面上的 Python 示例,请安装并 初始化 gcloud CLI,然后使用您的用户凭证设置应用默认凭据。

  1. 安装 Google Cloud CLI。

  2. 配置 gcloud CLI 以使用您的联合身份。

    如需了解详情,请参阅使用联合身份登录 gcloud CLI

  3. 为您的用户账号创建本地身份验证凭证:

    gcloud auth application-default login

    如果返回了身份验证错误,并且您使用的是外部身份提供方 (IdP),请确认您已 使用联合身份登录 gcloud CLI

如需了解详情,请参阅 为本地开发环境设置身份验证

REST

如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的 凭证。

    安装 Google Cloud CLI,然后 使用联合身份登录 gcloud CLI

如需了解详情,请参阅 身份验证文档中的使用 REST 时进行身份验证 。 Google Cloud

在特征组中创建特征

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

控制台

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

  1. 在 Google Cloud 控制台的 Agent Platform 部分中,前往 Feature Store 页面。

    转到 Feature Store 页面

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

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

  4. 点击创建

Python

如需了解如何安装或更新 Vertex AI SDK for Python,请参阅安装 Vertex AI SDK for Python。 如需了解详情,请参阅 Python API 参考文档


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store


def create_feature_sample(
    project: str,
    location: str,
    existing_feature_group_id: str,
    feature_id: str,
    version_column_name: str,
):
    aiplatform.init(project=project, location=location)
    feature_group = feature_store.FeatureGroup(existing_feature_group_id)
    feature = feature_group.create_feature(
        name=feature_id, version_column_name=version_column_name
    )
    return feature

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

REST

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

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

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

HTTP 方法和网址:

POST https://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 \
"https://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 "https://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"
    }
  }
}

后续步骤