Importación de transmisiones

La importación de transmisiones te permite realizar actualizaciones en tiempo real en los valores de atributos. Este método es útil cuando tienes una prioridad con los datos disponibles más recientes para la entrega en línea. Por ejemplo, puedes importar datos de eventos de transmisión y, en unos segundos, Vertex AI Store hace que estos datos estén disponibles para situaciones de entrega en línea.

Si debes reabastecer los datos o si procesas los valores de los atributos por lotes, usa la importación por lotes. En comparación con las solicitudes de importación de transmisión, las solicitudes de importación por lotes pueden manejar cargas útiles más grandes, pero tardan más en completarse.

Para obtener información sobre la marca de tiempo del valor de atributo más antiguo que puedes transferir, consulta Vertex AI Feature Store (Legacy) en Cuotas y límites. No puedes importar valores de atributos para los que las marcas de tiempo indican fechas y horas futuras.

Ejemplo de caso de uso

Una organización de venta minorista en línea puede proporcionar una experiencia de compra personalizada mediante el uso de la actividad actual de un usuario. A medida que los usuarios navegan por el sitio web, puedes capturar su actividad en un almacén de atributos y, poco después, entregar toda esa información para las predicciones en línea. Esta importación y entrega en tiempo real puede ayudarte a mostrar recomendaciones útiles y relevantes para los clientes durante su sesión de compra.

Uso de nodos de almacenamiento en línea

Cuando se escriben valores de atributos en un almacén de atributos en línea, se usan los recursos de CPU del almacén de atributos (nodos de almacenamiento en línea). Supervisa el uso de CPU para verificar que la demanda no supere el suministro, lo que puede generar errores de entrega. Recomendamos tener una tasa de uso de alrededor del 70% o menor para evitar estos errores. Si superas ese valor de forma periódica, puedes actualizar el almacén de atributos para aumentar la cantidad de nodos o usar el ajuste de escala automático. Para obtener más información, consulta Administra los almacenes de atributos.

Importación de transmisiones

Escribe un valor en un atributo en particular El valor del atributo se debe incluir como parte de la solicitud de importación. No puedes transmitir datos directamente desde una fuente de datos.

Si escribes en atributos creados recientemente, espera unos minutos antes de hacerlo, ya que es posible que los atributos nuevos aún no se hayan propagado. De lo contrario, es posible que veas un error resource not found.

Puedes importar valores de atributos para una sola entidad por escritura. En cualquier proyecto y región específicos, puedes escribir valores de atributos de forma simultánea para varias entidades dentro de un máximo de diez tipos de entidades diferentes. Este límite incluye las solicitudes de importación de transmisión a todos los almacenes de atributos en un proyecto y una región determinados. Si superas este límite, es posible que Vertex AI Feature Store (Legacy) no escriba todos los datos en el almacén sin conexión. Si esto ocurre, Vertex AI Feature Store (Legacy) registra el error en el Explorador de registros. Si quieres obtener más información, consulta Supervisa los errores de escritura de almacenamiento sin conexión para la importación de transmisión.

REST

Para importar los valores de los atributos existentes, envía una solicitud POST con el método featurestores.entityTypes.writeFeatureValues. Si los nombres de las columnas de datos de origen y los IDs de los atributos de destino son diferentes, incluye el parámetro sourceField. Ten en cuenta que featurestores.entityTypes.writeFeatureValues te permite importar valores de atributos para una sola entidad a la vez.

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

  • LOCATION: Región en la que se crea el featurestore. Por ejemplo, us-central1
  • PROJECT: El ID del proyecto.
  • FEATURESTORE_ID: ID del featurestore.
  • ENTITY_TYPE_ID: ID del tipo de entidad.
  • FEATURE_ID: Es el ID de un atributo existente en el almacén de atributos para la cual se escribirán valores.
  • VALUE_TYPE: El tipo de valor de la función.
  • VALUE: Valor para el atributo.
  • TIME_STAMP (opcional): La hora en la que se generó el atributo. La marca de tiempo debe estar en el formato RFC3339 UTC.

Método HTTP y URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:writeFeatureValues

Cuerpo JSON de la solicitud:

{
  "payloads": [
    {
      "entityId": "ENTITY_ID",
      "featureValues": {
        "FEATURE_ID": {
          "VALUE_TYPE": VALUE,
          "metadata": {"generate_time": "TIME_STAMP"}
        }
      }
    }
  ]
}

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-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:writeFeatureValues"

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-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:writeFeatureValues" | Select-Object -Expand Content

Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

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

def write_feature_values_sample(
    project: str, location: str, entity_type_id: str, featurestore_id: str
):

    aiplatform.init(project=project, location=location)

    my_entity_type = aiplatform.featurestore.EntityType(
        entity_type_name=entity_type_id, featurestore_id=featurestore_id
    )

    my_data = {
        "movie_01": {
            "title": "The Shawshank Redemption",
            "average_rating": 4.7,
            "genre": "Drama",
        },
    }

    my_entity_type.write_feature_values(instances=my_data)

Idiomas adicionales

Puedes instalar y usar las siguientes bibliotecas cliente de Vertex AI para llamar a la API de Vertex AI. Las bibliotecas cliente de Cloud proporcionan una experiencia optimizada para los desarrolladores, mediante el uso de las convenciones y estilos naturales de cada lenguaje compatible.

¿Qué sigue?