Gemini Enterprise Agent Platform te permite exportar los metadatos y conjuntos de anotaciones desde un recurso Dataset. Esta capacidad puede ser útil si deseas mantener un registro de una colección específica de cambios, adiciones o eliminaciones de anotaciones.
Cuando exportas un Dataset, Agent Platform crea uno o más
archivos de líneas JSON
que contienen los metadatos y las anotaciones de tu Dataset, y guarda estos
archivos de líneas de JSON en el directorio de Cloud Storage que elijas.
Puedes exportar recursos Dataset de imágenes. No puedes exportar recursos Dataset de tabulares.
La exportación de un Dataset no crea copias adicionales de los datos de imagen en los que se basa tu Dataset. Los archivos de líneas JSONL que crean los
procesos de exportación incluyen los URI originales de Cloud Storage para los
datos que especificaste cuando importaste esos datos a los
Dataset.
Exporta un Dataset con la Google Cloud consola o la API
Puedes usar la Google Cloud consola o la API de Agent Platform para exportar un Dataset.
Sigue los pasos en la pestaña correspondiente:
Console
En la Google Cloud consola, en la sección Agent Platform, ve a la página Conjuntos de datos.
En la lista desplegable Región, selecciona la ubicación en la que se almacena el
Dataset.Busca la fila del
Dataset. Puedes exportar metadatos y anotaciones para todos los conjuntos de anotaciones o un conjunto de anotaciones específico:Si quieres exportar metadatos y anotaciones para todos los conjuntos de anotaciones de
Dataset, haz clic en Ver más y luego, haz clic en Exportar conjunto de datos.Esto le indica a Agent Platform que debe crear un conjunto de archivos de líneas JSON para cada conjunto de anotaciones.
Si deseas exportar metadatos y anotaciones para un conjunto de anotaciones específico, haz lo siguiente:
Haz clic en Expandir nodo para ver las filas de cada conjunto de anotaciones de
Dataset.En la fila del conjunto de anotaciones que deseas exportar, haz clic en Ver más y, luego, en Exportar conjunto de anotaciones.
Esto le indica a Agent Platform que debe crear un conjunto de archivos de líneas JSON para el conjunto de anotaciones que especifiques.
En el cuadro de diálogo Exportar datos, ingresa un directorio de Cloud Storage en el que quieras que Agent Platform guarde los archivos de líneas JSON exportados. Haz clic en Exportar.
REST
Obtén el ID del Dataset
Para exportar un Dataset, debes conocer el ID numérico de Dataset. Si conoces el nombre visible del Dataset, pero no su ID, expande la siguiente sección para saber cómo obtener el ID con la API:
Obtén un ID de conjunto de datos desde su nombre visible
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
LOCATION: Es la ubicación en la que se almacena
Dataset. Por ejemplo,us-central1.PROJECT_ID: Tu ID del proyecto. .
DATASET_DISPLAY_NAME: es el nombre visible del
Dataset.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME"
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME" | Select-Object -Expand Content
La siguiente respuesta de ejemplo se truncó con ... para destacar dónde
puedes encontrar el ID de tu Dataset's: es el número que toma el lugar de
DATASET_ID.
{
"datasets": [
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID",
"displayName": "DATASET_DISPLAY_NAME",
...
}
]
}
Como alternativa, puedes obtener el ID de Dataset desde la Google Cloud consola:
ve a la página Conjuntos de datos de Agent Platform y busca el número en la columna
ID.
Ir a la página Conjuntos de datos
Exportar uno o más conjuntos de anotaciones
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
LOCATION: Es la ubicación en la que se almacena
Dataset. Por ejemplo,us-central1.PROJECT_ID: Tu ID del proyecto. .
DATASET_ID: es el ID numérico del
Dataset.EXPORT_DIRECTORY: es el URI de Cloud Storage (que comienza con
gs://) de un directorio en el que quieres que Agent Platform guarde los archivos de líneas JSON exportados. Debe estar en un bucket de Cloud Storage al que puedas acceder, aunque no hace falta que el directorio ya esté creado.FILTER: es una string de filtro que determina qué conjuntos de anotaciones se exportan.
Si quieres exportar metadatos y anotaciones para todos los conjuntos de anotaciones del
Dataset,reemplaza FILTER por una string vacía (u omite el campoannotationsFilterdel cuerpo de la solicitud por completo). Esto le indica a Agent Platform que debe crear un conjunto de archivos de líneas JSON para cada conjunto de anotaciones.Si deseas exportar metadatos y anotaciones para una anotación específica set, reemplaza FILTER por lo siguiente:
labels.aiplatform.googleapis.com/annotation_set_name=ANNOTATION_SET_IDEsto le indica a Agent Platform que debe crear un conjunto de archivos de líneas JSON para el conjunto de anotaciones con el ID numérico ANNOTATION_SET_ID.
Para encontrar el ID numérico del conjunto de anotaciones que deseas especificar, visualiza el conjunto de anotaciones en la Google Cloud consola y busca el valor que le sigue a
annotationSetIden la URL.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export
Cuerpo JSON de la solicitud:
{
"exportConfig": {
"gcsDestination": {
"outputUriPrefix": "EXPORT_DIRECTORY"
},
"annotationsFilter": "FILTER"
}
}
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 application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json,
y ejecuta el siguiente comando:
$cred = gcloud auth application-default 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_ID/locations/LOCATION/datasets/DATASET_ID:export" | 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/datasets/DATASET_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportDataOperationMetadata",
"genericMetadata": {
"createTime": "2021-02-17T00:54:58.827429Z",
"updateTime": "2021-02-17T00:54:58.827429Z"
},
"gcsOutputDirectory": "EXPORT_DIRECTORY/export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z"
}
}
Algunas solicitudes inician operaciones de larga duración que requieren tiempo para completarse. Estas solicitudes devuelven un nombre de operación que puedes usar para ver el estado de la operación o cancelarla. Agent Platform proporciona métodos auxiliares para realizar llamadas en operaciones de larga duración. Para obtener más información, consulta Trabaja con operaciones de larga duración.
Explicación de los archivos exportados
Dentro del directorio de exportación que especificaste en la sección anterior,
Agent Platform crea un directorio nuevo etiquetado con el nombre visible de Dataset's
y una marca de tiempo; por ejemplo,
export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z.
Dentro de este directorio, puedes encontrar un subdirectorio para cada conjunto de anotaciones que exportaste.
Para cada conjunto de anotaciones, puedes encontrar uno o más archivos de líneas JSON. Cada fila de cada archivo de líneas JSON representa un elemento de datos del conjunto de anotaciones. Cada elemento de datos puede contener los metadatos y las anotaciones que especificaste cuando importaste los datos a Agent Platform, así como los metadatos y las anotaciones que agregaste después de importar los datos. Por ejemplo, si agregaste etiquetas o
anotaciones a tu Dataset en la
Google Cloud consola, entonces esta información se incluye en los archivos exportados.
Si exportas varios conjuntos de anotaciones, los mismos elementos de datos pueden aparecer en varios archivos de líneas JSON. Por ejemplo, si exportas un Dataset de imágenes con varios conjuntos de anotaciones, un archivo de líneas JSONL puede contener un elemento de datos con una anotación de clasificación de una sola etiqueta. Otro archivo de líneas JSONL para un conjunto de anotaciones diferente podría contener el mismo elemento de datos, pero con una anotación de detección de objetos en su lugar.
El formato de los archivos exportados coincide con el formato de los archivos de importación de líneas JSONL
que puedes usar para
importar datos a Agent Platform.
Este formato depende del tipo de datos (imagen o tabular) y del objetivo (como el seguimiento de objetos, la extracción de entidades o la clasificación).
Por ejemplo, si exportas un conjunto de anotaciones para la clasificación de imágenes con una sola etiqueta, a cada línea de cada archivo de líneas JSONL se le asigna el formato según
el
gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml
archivo de
esquema,
como se describe en
Prepara datos de imagen.
¿Qué sigue?
- Obtén información para etiquetar datos con la Google Cloud consola.
- Obtén más información para trabajar con conjuntos de datos en Agent Platform.