Cette page vous guide tout au long des étapes suivantes pour enregistrer et désenregistrer des parties afin de créer des résultats de prédiction :
- Assurez-vous d'être prêt à enregistrer des parties
- Préparer les tables d'enregistrement des partis
- Utilisez la méthode
projects.locations.instances.importRegisteredPartiespour enregistrer ou désenregistrer des parties. - Valider la réponse de la méthode
- (Facultatif) Exporter un tableau des parties enregistrées
Avant de commencer
Avant de commencer, vous avez besoin d'une instance AML AI.
Pour permettre à un modèle de créer des prédictions de score de risque, vous devez d'abord enregistrer les parties. Nous vous recommandons d'enregistrer des parties lorsque vous disposez déjà des éléments suivants :
- Un ou plusieurs ensembles de données
- Un modèle ajusté, entraîné et testé
Quand enregistrer des parties
Avant de pouvoir créer des prédictions pour une partie dans l'un de vos ensembles de données, vous devez enregistrer la partie. L'inscription n'est pas obligatoire pour l'entraînement, l'ajustement ou le backtesting.
Les résultats de prédiction sont utilisés pour enquêter sur les clients soupçonnés de blanchiment d'argent, en phase de production ou de test (parallèle). Vous pouvez également créer vos propres processus d'analyse de la gouvernance et des modèles autour des résultats que vous obtenez à partir des prédictions.
L'enregistrement de parties entraîne des coûts mensuels supplémentaires par partie enregistrée (pour en savoir plus, consultez la page des tarifs).
Préparer les tableaux d'enregistrement des partis
Consultez la page Tarifs pour en savoir plus sur l'enregistrement des parties.
Préparez un tableau pour le secteur d'activité pour lequel vous souhaitez enregistrer des parties. Si vous avez déjà enregistré des parties, ce tableau d'enregistrement des parties peut contenir un sous-ensemble des parties du tableau Party que vous souhaitez utiliser pour les résultats de prédiction.
Schéma des parties Retail
| Colonne | Type | Description |
|---|---|---|
party_id | STRING | Identifiant unique de la partie dans les ensembles de données de l'instance |
party_size | STRING | NULL ; le contenu est ignoré pour les enregistrements de parties Retail |
Schéma des parties commerciales
| Colonne | Type | Description |
|---|---|---|
party_id | STRING | Identifiant unique de la partie dans les ensembles de données de l'instance |
party_size | STRING |
Taille du groupe souhaitée. Le niveau est basé sur le nombre moyen de transactions mensuelles pour la partie au cours des 365 jours précédents :
Toutes les valeurs sont sensibles à la casse. |
Enregistrer des partis
Les parties sont enregistrées séparément pour chaque instance d'IA AML. Veuillez noter les points suivants :
- Les parties commerciales et les marchands doivent s'inscrire séparément. Utilisez des appels d'API et des tables d'enregistrement des parties distincts. Si une partie figure dans les deux listes, elle est considérée comme une inscription distincte.
- Pour les prédictions, toutes les parties doivent être enregistrées auprès du secteur d'activité associé à la version du moteur utilisée. Vous ne pouvez pas créer de résultats de prédiction si un ensemble de données utilisé contient une partie non enregistrée dans le même secteur d'activité.
- Le tableau d'enregistrement des parties fourni est utilisé pour ajouter des parties à la liste existante des parties enregistrées dans l'instance ou pour remplacer toutes les parties enregistrées pour le secteur d'activité fourni dans l'instance.
- Une fois enregistrée, une partie ne peut pas être désenregistrée pendant un certain temps (voir la page des tarifs). Pour cette raison, vous pouvez définir le champ
validateOnlysurTRUE. Ce champ vous permet de voir l'effet net et la réponse de la méthode sans modifier les parties enregistrées. Une fois la validation effectuée, vous pouvez réexécuter l'opération et définir le paramètrevalidateOnlysurFALSE. - Vérifiez toujours la réponse d'une demande d'enregistrement pour vous assurer que toutes les parties ont bien été enregistrées, même si une requête
validateOnlyprécédente a réussi. - Pour les enregistrements de parties commerciales, une valeur autre que
SMALLouLARGEdans le champparty_sizedu tableau d'enregistrement des parties déclenche une erreur (Invalid party_size present in table). Les parties enregistrées ne sont pas mises à jour. - Pour les enregistrements de parties Retail, le champ
party_sizeest ignoré et toutes les parties du tableau d'enregistrement des parties fourni sont enregistrées.
Pour importer des parties enregistrées, utilisez la méthode projects.locations.instances.importRegisteredParties.
(Les informations suivantes sont également disponibles dans Créer et gérer des instances.)
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID: ID de votre projet Google Cloud répertorié dans les paramètres IAM.LOCATION: emplacement de l'instance. Utilisez l'une des régions disponibles.Afficher les emplacementsus-central1us-east1asia-south1europe-west1europe-west2europe-west4northamerica-northeast1southamerica-east1australia-southeast1
INSTANCE_ID: identifiant défini par l'utilisateur pour l'instanceBQ_INPUT_REGISTERED_PARTIES_DATASET_NAME: ensemble de données BigQuery contenant une table qui décrit les parties enregistréesPARTY_REGISTRATION_TABLE: tableau listant les parties enregistréesUPDATE_MODE: utilisezREPLACEpour remplacer les parties amovibles dans le tableau des parties enregistrées par de nouvelles parties, ou utilisezAPPENDpour ajouter de nouvelles parties au tableau des parties enregistrées.LINE_OF_BUSINESS: ce champ doit correspondre à la valeurlineOfBusinessdans la version du moteur utilisée par la configuration du moteur. UtilisezCOMMERCIALpour les clients de la banque commerciale (entités juridiques et physiques) ouRETAILpour les clients de la banque de détail.
Corps JSON de la requête :
{
"partyTables": [
"bq://PROJECT_ID.BQ_INPUT_REGISTERED_PARTIES_DATASET_NAME.PARTY_REGISTRATION_TABLE"
],
"mode": "UPDATE_MODE",
"lineOfBusiness": "LINE_OF_BUSINESS"
}
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
cat > request.json << 'EOF'
{
"partyTables": [
"bq://PROJECT_ID.BQ_INPUT_REGISTERED_PARTIES_DATASET_NAME.PARTY_REGISTRATION_TABLE"
],
"mode": "UPDATE_MODE",
"lineOfBusiness": "LINE_OF_BUSINESS"
}
EOFExécutez ensuite la commande suivante pour envoyer votre requête 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:importRegisteredParties"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@'
{
"partyTables": [
"bq://PROJECT_ID.BQ_INPUT_REGISTERED_PARTIES_DATASET_NAME.PARTY_REGISTRATION_TABLE"
],
"mode": "UPDATE_MODE",
"lineOfBusiness": "LINE_OF_BUSINESS"
}
'@ | Out-File -FilePath request.json -Encoding utf8Exécutez ensuite la commande suivante pour envoyer votre requête 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:importRegisteredParties" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
"createTime": "2023-03-14T15:52:55.358979323Z",
"target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
"verb": "importRegisteredParties",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Pour savoir comment obtenir le résultat d'une opération de longue durée, consultez Gérer les opérations de longue durée.
Réponse à l'inscription
Une fois l'opération de longue durée terminée, la réponse indique le nombre de parties ajoutées, supprimées ou modifiées par l'opération.
| Champ de réponse | Type | Description |
|---|---|---|
partiesAdded | integer |
Nombre de parties ajoutées par cette opération |
partiesRemoved | integer |
Nombre de parties supprimées par cette opération |
partiesTotal | integer |
Nombre total de parties enregistrées dans cette instance une fois l'opération de mise à jour terminée |
partiesUptiered | integer |
Nombre total de parties commerciales qui sont passées d'une petite à une grande entreprise |
partiesDowntiered | integer |
Nombre total de parties commerciales rétrogradées de grande à petite |
partiesFailedToDowntier | integer |
Nombre total de parties commerciales qui n'ont pas pu passer de la catégorie "Grande" à la catégorie "Petite" |
partiesFailedToRemove | integer |
Nombre de parties qui n'ont pas pu être supprimées par cette opération |
Désenregistrer des parties
Les parties sont désinscrites par instance d'IA AML à l'aide de la même méthode projects.locations.instances.importRegisteredParties et en remplaçant la liste existante des parties. Définissez le champ mode sur REPLACE. Ce paramètre désenregistre toutes les parties enregistrées (pour le secteur d'activité fourni) qui ne font pas partie du tableau d'enregistrement des parties fourni.
Réponses de désinscription
Une fois l'opération terminée, vérifiez la réponse de l'API pour vous assurer qu'elle a produit le résultat escompté en termes de nombre de parties ajoutées ou supprimées, et de nombre total de parties enregistrées.
La réponse de l'API renvoie également le nombre de parties qui n'ont pas pu être supprimées en raison de contraintes (par exemple, un client ne peut pas être désinscrit tant qu'un nombre minimal de jours ne s'est pas écoulé).
Exporter les parties enregistrées
Pour exporter les parties enregistrées, utilisez la méthode projects.locations.instances.exportRegisteredParties.
(Les informations suivantes sont également disponibles dans Créer et gérer des instances.)
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID: ID de votre projet Google Cloud répertorié dans les paramètres IAM.LOCATION: emplacement de l'instance. Utilisez l'une des régions disponibles.Afficher les emplacementsus-central1us-east1asia-south1europe-west1europe-west2europe-west4northamerica-northeast1southamerica-east1australia-southeast1
INSTANCE_ID: identifiant défini par l'utilisateur pour l'instanceBQ_OUTPUT_DATASET_NAME: ensemble de données BigQuery dans lequel exporter une table décrivant les parties enregistréesPARTY_REGISTRATION_TABLE: table dans laquelle écrire les parties enregistréesWRITE_DISPOSITION: action qui se produit si la table de destination existe déjà ; utilisez l'une des valeurs suivantes :-
WRITE_EMPTY: n'exporter les données que si la table BigQuery est vide -
WRITE_TRUNCATE: effacer toutes les données existantes de la table BigQuery avant d'y écrire des données.
-
LINE_OF_BUSINESS: utilisezCOMMERCIALpour les clients de la banque commerciale (entités juridiques et physiques) ouRETAILpour les clients de la banque de détail.
Corps JSON de la requête :
{
"dataset": {
"tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.PARTY_REGISTRATION_TABLE",
"writeDisposition": "WRITE_DISPOSITION"
},
"lineOfBusiness": "LINE_OF_BUSINESS"
}
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
cat > request.json << 'EOF'
{
"dataset": {
"tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.PARTY_REGISTRATION_TABLE",
"writeDisposition": "WRITE_DISPOSITION"
},
"lineOfBusiness": "LINE_OF_BUSINESS"
}
EOFExécutez ensuite la commande suivante pour envoyer votre requête 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:exportRegisteredParties"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@'
{
"dataset": {
"tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.PARTY_REGISTRATION_TABLE",
"writeDisposition": "WRITE_DISPOSITION"
},
"lineOfBusiness": "LINE_OF_BUSINESS"
}
'@ | Out-File -FilePath request.json -Encoding utf8Exécutez ensuite la commande suivante pour envoyer votre requête 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:exportRegisteredParties" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
"createTime": "2023-03-14T15:52:55.358979323Z",
"target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
"verb": "exportRegisteredParties",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Pour savoir comment obtenir le résultat d'une opération de longue durée, consultez Gérer les opérations de longue durée.
Cette méthode génère une table BigQuery avec le schéma suivant :
| Colonne | Type | Description |
|---|---|---|
party_id | STRING | Identifiant unique de la partie dans les ensembles de données de l'instance |
party_size | STRING |
Spécifie le niveau pour les clients commerciaux (grandes ou petites entreprises). Ce champ ne s'applique pas aux clients commerciaux.
Toutes les valeurs sont sensibles à la casse. |
earliest_remove_time | STRING | Heure la plus ancienne à laquelle la partie peut être supprimée |
party_with_prediction_intent | STRING | Indicateur indiquant si une partie a été prédite depuis l'inscription |
registration_or_uptier_time | STRING | Heure à laquelle la partie a été enregistrée ou mise à niveau |