En esta página, se muestra cómo crear y administrar los resultados de la predicción de la prueba interna de la IA contra el lavado de dinero. La predicción de prueba interna usa un modelo entrenado sobre los datos históricos existentes. Para estos meses, el conjunto de datos debe contener una etiqueta.
Se puede usar el mismo conjunto de datos para el entrenamiento y la prueba interna, siempre y cuando la fecha de finalización del entrenamiento sea anterior a las fechas de la prueba inversa.
En este punto, solo necesitas crear los resultados de la prueba interna y exportar los metadatos asociados. Los otros métodos de resultados de la prueba interna se proporcionan por conveniencia.
Antes de comenzar
-
Si quieres obtener los permisos que necesitas para crear y administrar los resultados de la prueba interna, pídele a tu administrador que te otorgue el rol de IAM Administrador de servicios financieros (
financialservices.admin
) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Cómo administrar el acceso.Es posible que también puedas obtener los permisos necesarios a través de los roles personalizados o de otros roles predefinidos.
- Crea una instancia
- Crea un modelo
- Crea un conjunto de datos
Crear resultados de backtest
Algunos métodos de la API muestran una operación de larga duración (LRO). Estos métodos son asíncronos. Es posible que la operación no se complete cuando el método muestra una respuesta. Para estos métodos, envía la solicitud y, luego, comprueba el resultado.
Envía la solicitud
Para crear resultados de la prueba inversa, usa el método projects.locations.instances.backtestResults.create
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.LOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: Un identificador definido por el usuario para la instanciaBACKTEST_RESULTS_ID
: Es un identificador definido por el usuario para los resultados de la prueba interna.MODEL_ID
: Es un identificador definido por el usuario para el modelo.BACKTEST_DATASET_ID
: Es el identificador definido por el usuario para el conjunto de datos que se usa en la prueba interna. Las tablas no deben tener las columnas de etiquetas de entrenamiento.BACKTEST_END_DATE
: La hora más reciente a partir de la cual se usan los datos a fin de generar atributos para las pruebas inversas. Esta fecha debe ser la misma o anterior a la hora de finalización de los conjuntos de datos. Usa el formato RFC3339 UTC “Zulú” (por ejemplo,2014-10-02T15:01:23Z
).PARTY_INVESTIGATIONS_PER_PERIOD_HINT
: Es un número que le da al sintonizador una sugerencia sobre la cantidad de partes de estos datos que se investigarán por período (mensual). Se usa para controlar cómo se evalúa el modelo. Por ejemplo, cuando pruebes la IA contra el lavado de dinero por primera vez, te recomendamos establecer esto en la cantidad de partes investigadas en un mes promedio, en función de las alertas de tu sistema de alertas automatizado existente.
Cuerpo JSON de la solicitud:
{ "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID", "endTime": "BACKTEST_END_DATE", "backtestPeriods": 5, "performanceTarget": { "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT" } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
cat > request.json << 'EOF' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID", "endTime": "BACKTEST_END_DATE", "backtestPeriods": 5, "performanceTarget": { "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT" } } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults?backtest_result_id=BACKTEST_RESULTS_ID"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
@' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID", "endTime": "BACKTEST_END_DATE", "backtestPeriods": 5, "performanceTarget": { "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT" } } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:
$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://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults?backtest_result_id=BACKTEST_RESULTS_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Comprueba el resultado
Para verificar si se crearon los resultados de la prueba interna, usa el método projects.locations.operations.get
. Si la respuesta contiene "done": false
, repite el comando hasta que la respuesta contenga "done": true
. Estas operaciones pueden tardar entre unos minutos y varias horas en completarse.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID del proyecto de Google Cloud que aparece en la configuración de IAMLOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
OPERATION_ID
: Es el identificador de la operación.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/dataresidency.monitoring.DataResidencyAugmentedView", "tpIds": [ "i608e8cf4abb2a7d9-tp" ] } }
Exportar metadatos
Para exportar metadatos de los resultados de la prueba interna, usa el método projects.locations.instances.backtestResults.exportMetadata
.
Para obtener más información, consulta Metadatos exportados en el modelo de datos de salida contra el lavado de dinero.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.LOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: El identificador definido por el usuario para la instanciaBACKTEST_RESULTS_ID
: Es un identificador definido por el usuario para los resultados de la prueba interna.BQ_OUTPUT_DATASET_NAME
: Es un conjunto de datos de BigQuery en el que se exporta una tabla que describe los metadatos estructurados de los resultados de la prueba interna.STRUCTURED_METADATA_TABLE
: Es la tabla en la que se escribirán los metadatos estructurados.WRITE_DISPOSITION
: Es la acción que se produce si la tabla de destino ya existe. Usa uno de los siguientes valores:-
WRITE_EMPTY
: Solo exportar datos si la tabla de destino está vacía. -
WRITE_TRUNCATE
: Borra todos los datos existentes en la tabla de BigQuery antes de escribir en ella.
-
Cuerpo JSON de la solicitud:
{ "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE", "writeDisposition": "WRITE_DISPOSITION" } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
cat > request.json << 'EOF' { "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE", "writeDisposition": "WRITE_DISPOSITION" } } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID:exportMetadata"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
@' { "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE", "writeDisposition": "WRITE_DISPOSITION" } } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:
$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://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID:exportMetadata" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "verb": "exportMetadata", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Si quieres obtener más información para obtener el resultado de la operación de larga duración (LRO), consulta Verifica el resultado.
Métodos opcionales
Los siguientes métodos de resultados de la prueba interna se proporcionan para tu conveniencia.
Obtener resultados de backtest
Para obtener resultados de la prueba interna, usa el método projects.locations.instances.backtestResults.get
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.LOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: El identificador definido por el usuario para la instanciaBACKTEST_RESULTS_ID
: Es el identificador definido por el usuario para los resultados de la prueba interna.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID"
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "state": "ACTIVE", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID", "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "endTime": "BACKTEST_END_DATE", "performanceTarget": { "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT" }, "lineOfBusiness": "RETAIL" }
Actualizar resultados de la prueba interna
Para actualizar los resultados de la prueba interna, usa el método projects.locations.instances.backtestResults.patch
.
No todos los campos de los resultados de la prueba interna se pueden actualizar. En el siguiente ejemplo, se actualizan las etiquetas de usuario del par clave-valor asociadas con los resultados de la prueba interna.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.LOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: El identificador definido por el usuario para la instanciaBACKTEST_RESULTS_ID
: Es el identificador definido por el usuario para los resultados de la prueba interna.KEY
: Es la clave en un par clave-valor que se usa para organizar los resultados de la prueba interna. Consultalabels
para obtener más información.VALUE
: Es el valor de un par clave-valor que se usa para organizar los resultados de la prueba interna. Consultalabels
para obtener más información.
Cuerpo JSON de la solicitud:
{ "labels": { "KEY": "VALUE" } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
cat > request.json << 'EOF' { "labels": { "KEY": "VALUE" } } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID?updateMask=labels"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
@' { "labels": { "KEY": "VALUE" } } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID?updateMask=labels" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Si quieres obtener más información para obtener el resultado de la operación de larga duración (LRO), consulta Verifica el resultado.
Enumera los resultados de la prueba interna
Para enumerar los resultados de la prueba interna de una instancia determinada, usa el método projects.locations.instances.backtestResults.list
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.LOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: El identificador definido por el usuario para la instancia
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults"
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "backtestResults": [ { "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "state": "ACTIVE", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID", "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID", "endTime": "BACKTEST_END_DATE", "performanceTarget": { "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT" }, "lineOfBusiness": "RETAIL" } ] }
Borrar resultados de la prueba interna
Para borrar los resultados de la prueba interna, usa el método projects.locations.instances.backtestResults.delete
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.LOCATION
: La ubicación de la instancia; usa una de las regiones compatibles:us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
INSTANCE_ID
: El identificador definido por el usuario para la instanciaBACKTEST_RESULTS_ID
: Es el identificador definido por el usuario para los resultados de la prueba interna.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID"
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Si quieres obtener más información para obtener el resultado de la operación de larga duración (LRO), consulta Verifica el resultado.