Crear una instancia de vista de atributos

Puedes crear una vista de atributos dentro de una instancia de tienda en línea existente. Cuando creas una vista de funciones, puedes asociar las características con ella de las siguientes maneras:

  • Agregar grupos de atributos y atributos del Registro de atributos: Asocia con grupos de atributos y atributos existentes del Registro de Atributos. Un grupo de funciones especifica la ubicación de la fuente de datos de BigQuery. Un atributo dentro del grupo de atributos apunta a una columna de atributos específica dentro de esa fuente de datos. Puedes asociar una vista de atributos con varios grupos de atributos.

  • Agrega atributos desde una fuente de BigQuery: asocia directamente una fuente de datos de BigQuery, como una tabla o vista de BigQuery, y especifica al menos una columna de ID de la entidad.

Después de crear una vista de atributos, Vertex AI Feature Store sincroniza los valores de los atributos más recientes de la fuente de datos de BigQuery. Si configuras el parámetro de consulta run_sync_immediately=true, Vertex AI Feature Store sincroniza los valores de los atributos cuando creas la vista de atributos. De lo contrario, Vertex AI Feature Store sincroniza los valores de los atributos según el programa de sincronización especificado para la vista de atributos.

Antes de comenzar

Autentícate en Vertex AI, a menos que ya lo hayas hecho.

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

Python

Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

Para obtener más información, consulta Set up authentication for a local development environment.

REST

Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Sincroniza datos de atributos en una vista de funciones

Vertex AI Feature Store actualiza o sincroniza de forma periódica los valores de los atributos almacenados en la tienda en línea de BigQuery. Cuando creas una vista de atributos, puedes especificar el programa o la frecuencia de la sincronización de datos con el parámetro FeatureView.sync_config.

También puedes activar manualmente una sincronización de datos para una vista de funciones. Para obtener más información sobre cómo sincronizar de forma manual los datos de una vista de funciones, consulta Sincroniza datos de funciones con la tienda en línea.

Ten en cuenta que solo puede estar activa una operación de sincronización de datos a la vez para una vista de función. Si hay una sincronización de datos en curso para una vista de funciones, se omitirán todas las sincronizaciones de datos programadas de esa vista hasta que se complete la sincronización.

Optimiza los costos durante la sincronización

Una operación de sincronización de datos puede implicar costos por el uso de recursos de BigQuery. Sigue estos lineamientos para optimizar estos costos y mejorar el rendimiento durante una sincronización de datos:

  • No configures el programa de sincronización para que se ejecute con más frecuencia que la frecuencia con la que se espera que cambien los datos en la fuente de BigQuery.

  • Optimizar el tamaño de la fuente de datos de atributos en BigQuery Mientras creas la vista de atributos, solo incluye los datos que necesitas para la entrega en línea.

  • Avoid running complex aggregations in BigQuery. Run a SELECT * query on the table or view to estimate the volume and duration of data processing.

  • Cuando configures las opciones de escalamiento para la tienda en línea, configura max_node_count en un valor que sea lo suficientemente alto como para cubrir cargas altas durante una sincronización de datos.

  • Programa la sincronización de diferentes vistas de funciones en distintos momentos dentro de la misma tienda en línea.

  • Si tu tabla de BigQuery contiene una gran cantidad de datos históricos, considera particionar la tabla con marcas de tiempo y especifica un intervalo de tiempo para recuperar los datos de atributos. Esto minimiza la recuperación de datos de atributos obsoletos durante la sincronización.

  • El uso de Bigtable aumenta durante las sincronizaciones de datos. En el caso de las vistas de atributos creados dentro de las tiendas en línea para la entrega en línea de Bigtable, programa trabajos de sincronización durante los momentos de menor demanda para obtener un mejor rendimiento.

Configura la cuenta de servicio para una vista de funciones

Cada vista de funciones usa una cuenta de servicio para acceder a los datos de origen en BigQuery durante la sincronización. Vertex AI Feature Store asigna el rol de Visualizador de datos de BigQuery de Identity and Access Management (IAM) a esta cuenta de servicio.

De forma predeterminada, una vista de funciones usa la cuenta de servicio configurada para tu proyecto. Con esta configuración, cualquier usuario con permiso para crear una vista de atributos en tu proyecto puede acceder a los datos de los atributos en BigQuery.

Como alternativa, puedes configurar la vista de características para usar su propia cuenta de servicio. Luego, Vertex AI Feature Store configura una cuenta de servicio dedicada para la vista de atributos. Con esta configuración, puedes restringir el acceso a los datos de los atributos en BigQuery u otorgar acceso a usuarios adicionales. Puedes especificar la configuración de la cuenta de servicio con el parámetro FeatureView.service_agent_type.

Configura la recuperación de vectores para una vista de atributos

Puedes configurar la recuperación de vectores para una vista de atributos dentro de un almacén en línea creado para la entrega en línea optimizada mediante el parámetro FeatureView.index_config. Si deseas obtener información sobre cómo preparar o actualizar la fuente de datos de BigQuery para admitir incorporaciones mediante la inclusión de la columna embedding, consulta Lineamientos de preparación de fuentes de datos.

Ten en cuenta que puedes configurar la recuperación de vectores y administrar las incorporaciones solo si la vista de atributos se crea mediante la especificación de un URI de origen de BigQuery y no mediante grupos y atributos de Feature Registry.

Para obtener más información sobre cómo buscar vecinos más cercanos aproximados a través de incorporaciones en Vertex AI Feature Store, consulta Busca con el uso de incorporaciones.

Crea una vista de atributos a partir de grupos de atributos

Puedes crear una vista de atributos en función de los datos de atributos registrados mediante grupos de atributos y atributos. Para asociar varias fuentes de datos de BigQuery con la misma vista de atributos, puedes especificar varios grupos de atributos.

Si creas una vista de atributos especificando grupos y atributos:

  • La fuente de datos debe tener una columna feature_timestamp y puede contener datos históricos.

  • Vertex AI Feature Store solo entrega los valores de atributos más recientes según la marca de tiempo del atributo.

  • No puedes configurar la administración de incorporaciones para la vista de atributos.

Crea una vista de funciones con la configuración de la cuenta de servicio predeterminada

Usa el siguiente ejemplo para crear una vista de funciones mediante la asociación de varios grupos de funciones sin especificar una configuración de cuenta de servicio.

REST

Para crear un recurso FeatureView, envía una solicitud POST mediante el método featureViews.create.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: La región en la que deseas crear la vista de atributos, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: el nombre de la instancia de la tienda en línea en la que deseas crear la vista de atributos.
  • FEATUREVIEW_NAME: el nombre de la instancia de vista de atributos nueva que deseas crear.
  • FEATUREGROUP_NAME_A y FEATUREGROUP_NAME_B: Son los nombres de los grupos de atributos desde los que deseas agregar atributos a la vista de atributos.
  • FEATURE_ID_A1 y FEATURE_ID_A2: Los IDs de los atributos del grupo de atributos FEATUREGROUP_NAME_A que deseas agregar a la vista de atributos.
  • FEATURE_ID_B1 y FEATURE_ID_B2: Los IDs de los atributos del grupo de atributos FEATUREGROUP_NAME_B que deseas agregar a la vista de atributos.
  • CRON: expresión de programa cron que representa la frecuencia para sincronizar datos con la vista de funciones. Para obtener más información, consulta cron.

HTTP method and URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

Cuerpo JSON de la solicitud:

{
  "feature_registry_source": {
    "feature_groups": [
      {
        "feature_group_id": "FEATUREGROUP_NAME_A",
        "feature_ids": [ "FEATURE_ID_A1", "FEATURE_ID_A2" ]
      },
      {
        "feature_group_id": "FEATUREGROUP_NAME_B",
        "feature_ids": [ "FEATURE_ID_B1", "FEATURE_ID_B2" ]
      }
    ]
  },
  "sync_config": {
    "cron": "CRON"
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Crea una vista de funciones mediante la especificación de una configuración de cuenta de servicio

Usa el siguiente ejemplo para crear una vista de funciones a partir de grupos de funciones mediante la especificación de una configuración de cuenta de servicio.

REST

Para crear un recurso FeatureView, envía una solicitud POST mediante el método featureViews.create.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: La región en la que deseas crear la vista de atributos, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: el nombre de la instancia de la tienda en línea en la que deseas crear la vista de atributos.
  • FEATUREVIEW_NAME: el nombre de la instancia de vista de atributos nueva que deseas crear.
  • FEATUREGROUP_NAME_A y FEATUREGROUP_NAME_B: Son los nombres de los grupos de atributos desde los que deseas agregar atributos a la vista de atributos.
  • FEATURE_ID_A1 y FEATURE_ID_A2: Los IDs de los atributos del grupo de atributos FEATUREGROUP_NAME_A que deseas agregar a la vista de atributos.
  • FEATURE_ID_B1 y FEATURE_ID_B2: Los IDs de los atributos del grupo de atributos FEATUREGROUP_NAME_B que deseas agregar a la vista de atributos.
  • CRON: expresión de programa cron que representa la frecuencia para sincronizar datos con la vista de funciones. Para obtener más información, consulta cron.
  • SERVICE_AGENT_TYPE: Opcional: Configuración de la cuenta de servicio para la vista de funciones. Los tipos de agente de servicio compatibles incluyen lo siguiente:
    • SERVICE_AGENT_TYPE_PROJECT: Usa la cuenta de servicio a nivel de proyecto para la vista de atributos. Esta es la configuración predeterminada.
    • SERVICE_AGENT_TYPE_FEATURE_VIEW: Configura y usa una cuenta de servicio dedicada para la vista de funciones.

HTTP method and URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

Cuerpo JSON de la solicitud:

{
  "feature_registry_source": {
    "feature_groups": [
      {
        "feature_group_id": "FEATUREGROUP_NAME_A",
        "feature_ids": [ "FEATURE_ID_A1", "FEATURE_ID_A2" ]
      },
      {
        "feature_group_id": "FEATUREGROUP_NAME_B",
        "feature_ids": [ "FEATURE_ID_B1", "FEATURE_ID_B2" ]
      }
    ]
  },
  "sync_config": {
    "cron": "CRON"
  },
  "service_agent_type": "SERVICE_AGENT_TYPE"
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Crear una vista de atributos desde una fuente de BigQuery

If you want to serve features online without registering your BigQuery data source using feature groups and features, you can create a feature view by specifying the URI of the BigQuery data source.

Si creas una vista de atributos mediante la especificación de la fuente de datos, haz lo siguiente:

  • You can't include a feature_timestamp column in the BigQuery table or view.

  • No puedes incluir valores de atributos históricos en la fuente de datos. Cada fila debe contener un ID de entidad único.

Crea una vista de atributos que use la cuenta de servicio predeterminada y no admita embeddings

Usa los siguientes ejemplos para crear una vista de atributos que no admita embeddings mediante la asociación directa de una fuente de datos de BigQuery y sin especificar una configuración de cuenta de servicio.

Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.


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


def create_feature_view_from_bq_source(
    project: str,
    location: str,
    existing_feature_online_store_id: str,
    feature_view_id: str,
    bq_table_uri: str,
    entity_id_columns: List[str],
):
    aiplatform.init(project=project, location=location)
    fos = feature_store.FeatureOnlineStore(existing_feature_online_store_id)
    fv = fos.create_feature_view(
        name=feature_view_id,
        source=feature_store.utils.FeatureViewBigQuerySource(
            uri=bq_table_uri, entity_id_columns=entity_id_columns
        ),
    )
    return fv
  • project: ID del proyecto
  • location: La región en la que deseas crear la vista de atributos, como us-central1.
  • existing_feature_online_store_id: el nombre de la instancia de la tienda en línea en la que deseas crear la vista de atributos.
  • feature_view_id: el nombre de la instancia de vista de atributos nueva que deseas crear.
  • bq_table_uri: El URI de la tabla o vista de origen de BigQuery.
  • entity_id_columns: Los nombres de las columnas que contienen los IDs de las entidades. Puedes especificar una o varias columnas.
    • Para especificar solo una columna de ID de la entidad, especifica el nombre de la columna en el siguiente formato:
      "entity_id_column_name".
    • Para especificar varias columnas de ID de entidad, especifica los nombres de las columnas en el siguiente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].

REST

Para crear un recurso FeatureView, envía una solicitud POST mediante el método featureViews.create.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: La región en la que deseas crear la vista de atributos, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: el nombre de la instancia de la tienda en línea en la que deseas crear la vista de atributos.
  • FEATUREVIEW_NAME: el nombre de la vista de atributos nueva que deseas crear.
  • PROJECT_NAME: Es el nombre de tu proyecto.
  • DATASET_NAME: el nombre de tu conjunto de datos de BigQuery.
  • TABLE_NAME: el nombre de la tabla de tu conjunto de datos de BigQuery.
  • ENTITY_ID_COLUMNS: Los nombres de las columnas que contienen los ID de las entidades. Puedes especificar una o varias columnas.
    • Para especificar solo una columna de ID de la entidad, especifica el nombre de la columna en el siguiente formato:
      "entity_id_column_name".
    • Para especificar varias columnas de ID de entidad, especifica los nombres de las columnas en el siguiente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • CRON: expresión de programa cron que representa la frecuencia para sincronizar datos con la vista de funciones. Para obtener más información, consulta cron.

HTTP method and URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

Cuerpo JSON de la solicitud:

{
  "big_query_source": {
    "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
    "entity_id_columns": "ENTITY_ID_COLUMNS"
  },
  "sync_config": {
    "cron": "CRON"
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Crea una vista de atributos que use la cuenta de servicio predeterminada y admita embeddings

Usa los siguientes ejemplos para crear una vista de atributos compatible con embeddings mediante la asociación directa de una fuente de datos de BigQuery y sin especificar una configuración de cuenta de servicio.

Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.


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


def create_feature_view_from_bq_source_with_embedding_management(
    project: str,
    location: str,
    existing_feature_online_store_id: str,
    feature_view_id: str,
    bq_table_uri: str,
    entity_id_columns: List[str],
    embedding_column: str,
    embedding_dimensions: int,
):
    aiplatform.init(project=project, location=location)

    fos = feature_store.FeatureOnlineStore(existing_feature_online_store_id)

    bigquery_source = feature_store.utils.FeatureViewBigQuerySource(
        uri=bq_table_uri,
        entity_id_columns=entity_id_columns,
    )
    index_config = feature_store.utils.IndexConfig(
        embedding_column=embedding_column,
        dimensions=embedding_dimensions,
        algorithm_config=feature_store.utils.TreeAhConfig(),
    )
    fv = fos.create_feature_view(
        name=feature_view_id,
        source=bigquery_source,
        index_config=index_config,
    )
    return fv
  • project: ID del proyecto
  • location: La región en la que deseas crear la vista de atributos, como us-central1.
  • existing_feature_online_store_id: el nombre de la instancia de la tienda en línea en la que deseas crear la vista de atributos.
  • feature_view_id: el nombre de la instancia de vista de atributos nueva que deseas crear.
  • bq_table_uri: El URI de la tabla o vista de origen de BigQuery.
  • entity_id_columns: Los nombres de las columnas que contienen los IDs de las entidades. Puedes especificar una o varias columnas.
    • Para especificar solo una columna de ID de la entidad, especifica el nombre de la columna en el siguiente formato:
      "entity_id_column_name".
    • Para especificar varias columnas de ID de entidad, especifica los nombres de las columnas en el siguiente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • embedding_column: El nombre de la columna que contiene los datos de origen a fin de crear el índice para la búsqueda vectorial Esto solo es necesario si deseas administrar las incorporaciones con la vista de atributos.
  • embedding_dimensions: Opcional El tamaño, expresado como cantidad de dimensiones, de una embedding en la columna de embedding.

REST

Para crear un recurso FeatureView, envía una solicitud POST mediante el método featureViews.create.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: La región en la que deseas crear la vista de atributos, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: el nombre de la instancia de la tienda en línea en la que deseas crear la vista de atributos.
  • FEATUREVIEW_NAME: el nombre de la vista de atributos nueva que deseas crear.
  • PROJECT_NAME: Es el nombre de tu proyecto.
  • DATASET_NAME: el nombre de tu conjunto de datos de BigQuery.
  • TABLE_NAME: el nombre de la tabla de tu conjunto de datos de BigQuery.
  • ENTITY_ID_COLUMNS: Los nombres de las columnas que contienen los ID de las entidades. Puedes especificar una o varias columnas.
    • Para especificar solo una columna de ID de la entidad, especifica el nombre de la columna en el siguiente formato:
      "entity_id_column_name".
    • Para especificar varias columnas de ID de entidad, especifica los nombres de las columnas en el siguiente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • CRON: expresión de programa cron que representa la frecuencia para sincronizar datos con la vista de funciones. Para obtener más información, consulta cron.
  • EMBEDDING_COLUMN: El nombre de la columna que contiene los datos de origen a fin de crear el índice para la búsqueda vectorial Esto solo es necesario si deseas administrar las incorporaciones con la vista de atributos.
  • FILTER_COLUMN_1 y FILTER_COLUMN_2: Opcional: Los nombres de las columnas que se usan para filtrar los resultados de la búsqueda vectorial
  • CROWDING_COLUMN: Opcional: El nombre de la columna que contiene los atributos de multitud.
  • EMBEDDING_DIMENSION: Opcional: El tamaño, expresado como cantidad de dimensiones, de una incorporación en la columna de incorporación.

HTTP method and URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

Cuerpo JSON de la solicitud:

{
  "big_query_source": {
    "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
    "entity_id_columns": "ENTITY_ID_COLUMNS"
  },
  "sync_config": {
    "cron": "CRON"
  },
  "index_config": {
    "embedding_column": "EMBEDDING_COLUMN",
    "filter_columns": ["FILTER_COLUMN_1", "FILTER_COLUMN_2"],
    "crowding_column": "CROWDING_COLUMN",
    "embedding_dimension": EMBEDDING_DIMENSION
    "tree_ah_config": {}
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

Crea una vista de atributos con la administración de incorporaciones mediante la especificación de una configuración de cuenta de servicio

Usa el siguiente ejemplo para crear una vista de atributos con compatibilidad de incorporaciones mediante la asociación directa de una fuente de datos de BigQuery y la especificación de una configuración de cuenta de servicio.

REST

Para crear un recurso FeatureView compatible con incorporaciones, envía una solicitud POST mediante el método featureViews.create y especifica el parámetro FeatureView.index_config. Ten en cuenta que puedes usar la administración de incorporaciones solo si la tienda en línea está configurada para la entrega en línea optimizada.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: La región en la que deseas crear la vista de atributos, como us-central1.
  • PROJECT_ID: ID del proyecto
  • FEATUREONLINESTORE_NAME: el nombre de la instancia de la tienda en línea en la que deseas crear la vista de atributos.
  • FEATUREVIEW_NAME: el nombre de la vista de atributos nueva que deseas crear.
  • PROJECT_NAME: Es el nombre de tu proyecto.
  • DATASET_NAME: el nombre de tu conjunto de datos de BigQuery.
  • TABLE_NAME: el nombre de la tabla de tu conjunto de datos de BigQuery.
  • ENTITY_ID_COLUMNS: Los nombres de las columnas que contienen los ID de las entidades. Puedes especificar una o varias columnas.
    • Para especificar solo una columna de ID de la entidad, especifica el nombre de la columna en el siguiente formato:
      "entity_id_column_name".
    • Para especificar varias columnas de ID de entidad, especifica los nombres de las columnas en el siguiente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • CRON: expresión de programa cron que representa la frecuencia para sincronizar datos con la vista de funciones. Para obtener más información, consulta cron.
  • SERVICE_AGENT_TYPE: Configuración de la cuenta de servicio para la vista de funciones. Los tipos de agente de servicio compatibles incluyen lo siguiente:
    • SERVICE_AGENT_TYPE_PROJECT: Usa la cuenta de servicio a nivel de proyecto para la vista de atributos. Esta es la configuración predeterminada.
    • SERVICE_AGENT_TYPE_FEATURE_VIEW: Configura y usa una cuenta de servicio dedicada para la vista de funciones.
  • EMBEDDING_COLUMN: El nombre de la columna que contiene los datos de origen a fin de crear el índice para la búsqueda vectorial Esto solo es necesario si deseas administrar las incorporaciones con la vista de atributos.
  • FILTER_COLUMN_1 y FILTER_COLUMN_2: Opcional: Los nombres de las columnas que se usan para filtrar los resultados de la búsqueda vectorial
  • CROWDING_COLUMN: Opcional: El nombre de la columna que contiene los atributos de multitud.
  • EMBEDDING_DIMENSION: Opcional: El tamaño, expresado como cantidad de dimensiones, de una incorporación en la columna de incorporación.

HTTP method and URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME

Cuerpo JSON de la solicitud:

{
  "big_query_source": {
    "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
    "entity_id_columns": "ENTITY_ID_COLUMNS"
  },
  "sync_config": {
    "cron": "CRON"
  },
  "service_agent_type": "SERVICE_AGENT_TYPE",
  "index_config": {
    "embedding_column": "EMBEDDING_COLUMN",
    "filter_columns": ["FILTER_COLUMN_1", "FILTER_COLUMN_2"],
    "crowding_column": "CROWDING_COLUMN",
    "embedding_dimension": EMBEDDING_DIMENSION
    "tree_ah_config": {}
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateFeatureViewOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-15T02:11:29.458820Z",
      "updateTime": "2023-09-15T02:11:29.458820Z"
    }
  }
}

¿Qué sigue?