Cette page vous explique comment enregistrer et désenregistrer des parties pour 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.importRegisteredParties
pour 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 d'IA AML.
Pour permettre à un modèle de créer des prédictions de score de risque, vous devez d'abord enregistrer des 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 affiné, entraîné et testé en arrière-plan
Quand enregistrer des parties
Avant de pouvoir créer des prédictions pour un parti dans l'un de vos ensembles de données, vous devez enregistrer le parti. L'enregistrement n'est pas nécessaire pour l'entraînement, le réglage ni le backtesting.
Les résultats de prédiction sont utilisés pour enquêter sur les clients pour blanchiment d'argent lors d'une phase de production ou de test (parallèle). Vous pouvez également créer vos propres processus de gouvernance et d'analyse de modèle autour des résultats que vous obtenez 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 partis, cette table d'enregistrement des partis peut contenir un sous-ensemble des partis de la table Parti 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 marchands |
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 demandée. Le niveau est basé sur le nombre moyen de transactions mensuelles de la partie au cours des 365 derniers jours :
Toutes les valeurs sont sensibles à la casse. |
Enregistrer des parties
Les parties sont enregistrées séparément pour chaque instance d'IA AML. Veuillez noter les points suivants :
- Les parties commerciales et de vente au détail doivent être enregistrées séparément. Utilisez des appels d'API et des tables d'enregistrement de parti distincts. Si un parti figure dans les deux listes, il est considéré comme deux enregistrements distincts.
- Pour les prédictions, toutes les parties doivent être enregistrées auprès de la branche d'activité associée à la version du moteur utilisée. Vous ne pouvez pas créer de résultats de prédiction si un ensemble de données contenant des parties non enregistrées dans la même activité est utilisé.
- La table d'enregistrement des parties fournie permet d'ajouter des parties à la liste existante des parties enregistrées dans l'instance ou de remplacer toutes les parties enregistrées pour le secteur d'activité fourni dans l'instance.
- Une fois enregistrée, une fête ne peut pas être désinscrite pendant un certain temps (voir la page des tarifs). Pour cette raison, vous pouvez définir le champ
validateOnly
surTRUE
. 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ètrevalidateOnly
surFALSE
. - 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 demande
validateOnly
précédente a réussi. - Pour les enregistrements de parties commerciales, une valeur autre que
SMALL
ouLARGE
dans le champparty_size
de la table 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 commerciales, le champ
party_size
est ignoré et toutes les parties de la table d'enregistrement de parties fournie sont enregistrées.
Pour importer des parties enregistrées, utilisez la méthode projects.locations.instances.importRegisteredParties
.
(Les informations suivantes sont également disponibles dans la section Créer et gérer des instances.)
Avant d'utiliser les données de requête ci-dessous, 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-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-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 décrivant les partis enregistrésPARTY_REGISTRATION_TABLE
: table qui liste les parties enregistréesUPDATE_MODE
: utilisezREPLACE
pour remplacer les parties pouvant être supprimées dans la table des parties enregistrées par de nouvelles parties, ouAPPEND
pour ajouter de nouvelles parties à la table des parties enregistrées.LINE_OF_BUSINESS
: ce champ doit correspondre à la valeurlineOfBusiness
dans la version du moteur utilisée par la configuration du moteur. UtilisezCOMMERCIAL
pour les clients de la banque commerciale (entités juridiques et physiques) ouRETAIL
pour 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" } EOF
Exé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 utf8
Exé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 de l'opération de longue durée, consultez la section Gérer les opérations de longue durée.
Réponse d'enregistrement
Lorsque l'opération de longue durée est terminée, la réponse indique le nombre de parties ajoutées, supprimées ou mises à jour 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 de la catégorie "petite" à la catégorie "grande" |
partiesDowntiered | integer |
Nombre total de parties commerciales qui sont rétrogradées de grandes à petites |
partiesFailedToDowntier | integer |
Nombre total de parties commerciales qui n'ont pas pu passer de la catégorie "grande entreprise" à la catégorie "petite entreprise" |
partiesFailedToRemove | integer |
Nombre de parties qui n'ont pas été supprimées par cette opération |
Comment 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 remplacent la liste existante des parties. Définissez le champ mode
sur REPLACE
. Ce paramètre désinscrit toutes les parties actuellement enregistrées (pour le secteur d'activité fourni) qui ne figurent pas dans le tableau d'enregistrement des parties fourni.
Réponses à la demande de résiliation
Une fois l'opération terminée, vérifiez la réponse de l'API pour vérifier si l'opération a abouti au résultat souhaité en termes de nombre de parties ajoutées ou supprimées, et du 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 radié tant qu'un nombre minimum 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 la section Créer et gérer des instances.)
Avant d'utiliser les données de requête ci-dessous, 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-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-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'écrire dans la table.
-
LINE_OF_BUSINESS
: utilisezCOMMERCIAL
pour les clients de la banque commerciale (entités juridiques et physiques) ouRETAIL
pour 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" } EOF
Exé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 utf8
Exé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 de l'opération de longue durée, consultez la section 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 |
Indique le niveau pour les clients commerciaux (grandes entreprises ou petites entreprises). Ce champ ne s'applique pas aux clients particuliers.
Toutes les valeurs sont sensibles à la casse. |
earliest_remove_time | STRING | Date et heure les plus anciennes auxquelles la partie peut être supprimée |
party_with_prediction_intent | STRING | Indicateur suggérant si une fête a été prédite depuis l'enregistrement |
registration_or_uptier_time | STRING | Heure à laquelle la fête a été enregistrée ou mise à niveau |