Modelle trainieren und testen, die für die Erkennung von Geldwäsche entwickelt wurden
In dieser Kurzanleitung wird die End-to-End-Implementierung eines Modells zum Erkennen von Geldwäsche mithilfe der Anti Money Laundering AI (AML AI) API beschrieben. In diesem Leitfaden erfahren Sie, wie Sie Modelle trainieren und testen, um Geldwäsche zu erkennen. Dazu führen Sie die folgenden Schritte aus:
- Bereiten Sie Ihre Cloud-Umgebung vor und erstellen Sie eine AML AI-Instanz.
- Stellen Sie synthetische Transaktionsdaten in Form von BigQuery-Tabellen bereit.
- Modell mit Eingabedaten trainieren und testen
- Parteien registrieren und Modellvorhersagen treffen
Nachdem Vorhersageergebnisse erstellt wurden, wird in diesem Leitfaden ein einzelner Fall einer Beispielpartei analysiert, die Geld durch Structuring Funds wäscht.
Hinweise
In diesem Abschnitt wird beschrieben, wie Sie ein Google Cloud Konto einrichten, die erforderlichenGoogle Cloud Dienste aktivieren und die erforderlichen Berechtigungen erteilen, um den Schnellstart auszuführen.
Wenn Sie ein vorhandenes Projekt verwenden möchten, das Ihnen nicht gehört, muss Ihr Administrator Ihnen möglicherweise bestimmte Berechtigungen für den Zugriff auf das vorhandene Projekt gewähren. Weitere Informationen finden sich unter Projekte erstellen und verwalten.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required APIs:
gcloud services enable financialservices.googleapis.com
bigquery.googleapis.com cloudkms.googleapis.com bigquerydatatransfer.googleapis.com -
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/financialservices.admin, roles/cloudkms.admin, roles/bigquery.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
-
Install the Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required APIs:
gcloud services enable financialservices.googleapis.com
bigquery.googleapis.com cloudkms.googleapis.com bigquerydatatransfer.googleapis.com -
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/financialservices.admin, roles/cloudkms.admin, roles/bigquery.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
- Die API-Anfragen in diesem Leitfaden verwenden dasselbe Google Cloud Projekt und denselben Standort sowie hartcodierte Ressourcen-IDs, um die Durchführung des Leitfadens zu vereinfachen. Die Ressourcen-IDs folgen dem Muster
my-
resource-type (z. B.my-key-ring
undmy-model
).Achten Sie darauf, dass die folgenden Ersetzungen für diese Anleitung definiert sind:
PROJECT_ID
: Ihre Google Cloud Projekt-ID, die unter IAM-Einstellungen aufgeführt istPROJECT_NUMBER
: die Projektnummer, die mitPROJECT_ID
verknüpft ist. Sie finden die Projektnummer auf der Seite IAM-Einstellungen.LOCATION
: Der Speicherort der API-Ressourcen. Verwenden Sie eine der unterstützten Regionen.Standorte anzeigenus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-southeast1
LOCATION
: der Speicherort des Schlüsselbunds. Verwenden Sie eine der unterstützten Regionen.Standorte anzeigenus-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-southeast1
OPERATION_ID
: die Kennung für den Vorgang- 100.000 Parteien
- Ein Kernzeitraum vom 1. Januar 2020 bis zum 1. Januar 2023 und zusätzliche 24 Monate mit Lookback-Daten
- 300 negative und 20 positive Risikofälle pro Monat
- Risikofälle mit den folgenden Attributen:
- Die Hälfte der positiven Risikofälle betrifft Strukturierungsaktivitäten, die in den zwei Monaten vor dem
AML_PROCESS_START
-Ereignis stattgefunden haben. - Die andere Hälfte umfasst Parteien mit dem höchsten Geldeingang in den zwei Monaten vor dem
AML_PROCESS_START
-Ereignis. - Negative Fälle werden zufällig generiert.
- Eine Wahrscheinlichkeit von 0,1 %, dass der Risikofall im gegenteiligen Zustand generiert wird (z. B. eine zufällige Partei, die positiv ist, oder eine Partei, die Strukturierungsaktivitäten oder das höchste Einkommen aufweist und als negativ gemeldet wird)
- Die Hälfte der positiven Risikofälle betrifft Strukturierungsaktivitäten, die in den zwei Monaten vor dem
- Das AML-Schema ist im AML-Eingabedatenmodell definiert.
Kopieren Sie die Beispielbankdaten in das von Ihnen erstellte Eingabe-Dataset.
Bash
bq mk --transfer_config \ --project_id=PROJECT_ID \ --data_source=cross_region_copy \ --target_dataset="my_bq_input_dataset" \ --display_name="Copy the AML sample dataset." \ --schedule=None \ --params='{ "source_project_id":"bigquery-public-data", "source_dataset_id":"aml_ai_input_dataset", "overwrite_destination_table":"true" }'
PowerShell
bq mk --transfer_config ` --project_id=PROJECT_ID ` --data_source=cross_region_copy ` --target_dataset="my_bq_input_dataset" ` --display_name="Copy the AML sample dataset." ` --schedule=None ` --params='{\"source_project_id\":\"bigquery-public-data\",\"source_dataset_id\":\"aml_ai_input_dataset\",\"overwrite_destination_table\":\"true\"}'
Überwachen Sie den Datenübertragungsjob.
Bash
bq ls --transfer_config \ --transfer_location=LOCATION \ --project_id=PROJECT_ID \ --filter="dataSourceIds:cross_region_copy"
PowerShell
bq ls --transfer_config ` --transfer_location=LOCATION ` --project_id=PROJECT_ID ` --filter="dataSourceIds:cross_region_copy"
Nach Abschluss des Transfers wird ein Datenübertragungsjob mit dem Anzeigenamen
Copy the AML sample dataset
erstellt.Sie können den Status der Übertragung auch in der Google Cloud Konsole prüfen.
Die Ausgabe sollte etwa so aussehen:
name displayName dataSourceId state ------------------------------------------- ----------------------- ----------------- --------- projects/294024168771/locations/us-central1 Copy AML sample dataset cross_region_copy SUCCEEDED
Lesezugriff auf das Eingabe-Dataset und seine Tabellen gewähren.
Bash
bq query --project_id=PROJECT_ID --use_legacy_sql=false \ 'GRANT `roles/bigquery.dataViewer` ON SCHEMA `PROJECT_ID.my_bq_input_dataset` TO "serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com"'
PowerShell
bq query --project_id=PROJECT_ID --use_legacy_sql=false "GRANT ``roles/bigquery.dataViewer`` ON SCHEMA ``PROJECT_ID.my_bq_input_dataset`` TO 'serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com'"
Gewähren Sie Schreibzugriff auf das Ausgabedataset.
Bash
bq query --project_id=PROJECT_ID --use_legacy_sql=false \ 'GRANT `roles/bigquery.dataEditor` ON SCHEMA `PROJECT_ID.my_bq_output_dataset` TO "serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com"'
PowerShell
bq query --project_id=PROJECT_ID --use_legacy_sql=false "GRANT ``roles/bigquery.dataEditor`` ON SCHEMA ``PROJECT_ID.my_bq_output_dataset`` TO 'serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com'"
Öffnen Sie BigQuery in der Google Cloud Console.
Suchen Sie im Bereich Explorer nach Ihrem Projekt und maximieren Sie es.
Maximieren Sie my_bq_output_dataset und klicken Sie auf my_backtest_results_metadata.
Klicken Sie in der Menüleiste auf Vorschau.
Suchen Sie in der Spalte name nach der Zeile mit ObservedRecallValues.
Angenommen, Ihre Kapazität für Untersuchungen beträgt 120 pro Monat. Suchen Sie das Rückrufwertobjekt mit
"partyInvestigationsPerPeriod": "120"
. Wenn Sie die Untersuchungen auf Parteien mit Risikobewertungen über 0, 53 beschränken, können Sie bei den folgenden Beispielwerten mit 120 neuen Parteien pro Monat rechnen. Im Backtesting-Zeitraum, dem Jahr 2022, hätten Sie 86% der Fälle erkannt, die vom vorherigen System erkannt wurden (und möglicherweise weitere, die von Ihren aktuellen Prozessen nicht erkannt wurden).{ "recallValues": [ ... { "partyInvestigationsPerPeriod": "105", "recallValue": 0.8142077, "scoreThreshold": 0.6071321 }, { "partyInvestigationsPerPeriod": "120", "recallValue": 0.863388, "scoreThreshold": 0.5339603 }, { "partyInvestigationsPerPeriod": "135", "recallValue": 0.89071035, "scoreThreshold": 0.4739899 }, ... ] }
Öffnen Sie BigQuery in der Google Cloud Console.
Klicken Sie im Detailbereich auf den Tab Unbenannte Abfrage, um den Editor aufzurufen.
Kopieren Sie die folgende SQL-Anweisung in den Editor und klicken Sie auf Ausführen.
SELECT * FROM `PROJECT_ID.my_bq_input_dataset.transaction` WHERE account_id = '1E60OAUNKP84WDKB' AND DATE_TRUNC(book_time, MONTH) = "2022-08-01" ORDER by book_time
In dieser Anweisung wird die Konto-ID
1E60OAUNKP84WDKB
im August 2022 geprüft. Dieses Konto ist mit der Party-IDEGS4NJD38JZ8NTL8
verknüpft. Sie können die Parteien-ID für eine bestimmte Konto-ID mithilfe der Tabelle AccountPartyLink ermitteln.Die Transaktionsdaten zeigen häufige Rundungstransaktionen, die kurz nach einer großen Bareinzahlung auf ein einzelnes Konto gerichtet sind. Das sieht verdächtig aus. Diese Transaktionen könnten auf Smurfing (Aufteilen einer großen Geldtransaktion in kleinere Transaktionsbeträge) oder Structuring hinweisen.
Kopieren Sie die folgende SQL-Anweisung in den Editor und klicken Sie auf Ausführen.
SELECT * FROM `PROJECT_ID.my_bq_input_dataset.risk_case_event` WHERE party_id = 'EGS4NJD38JZ8NTL8'
Diese Aussage zeigt, dass es einen Risikofall gab, der zum Ausscheiden dieser Partei geführt hat. Der Risikofall wurde zwei Monate nach der verdächtigen Aktivität gestartet.
Kopieren Sie die folgende SQL-Anweisung in den Editor und klicken Sie auf Ausführen.
SELECT * FROM `PROJECT_ID.my_bq_output_dataset.my_prediction_results` WHERE party_id = 'EGS4NJD38JZ8NTL8' ORDER BY risk_period_end_time
Wenn Sie sich die Vorhersageergebnisse ansehen, können Sie erkennen, dass der Risikowert der Partei in den Monaten nach der verdächtigen Aktivität von nahezu null (beachten Sie den Exponentenwert) auf hohe Werte ansteigt. Ihre Ergebnisse können von den gezeigten Ergebnissen abweichen.
Die Risikobewertung ist keine Wahrscheinlichkeit. Ein Risiko-Score sollte immer im Verhältnis zu anderen Risiko-Scores bewertet werden. Ein scheinbar kleiner Wert kann beispielsweise als positiv angesehen werden, wenn die anderen Risikobewertungen niedriger sind.
Kopieren Sie die folgende SQL-Anweisung in den Editor und klicken Sie auf Ausführen.
SELECT * FROM `PROJECT_ID.my_bq_output_dataset.my_prediction_results_explainability` WHERE party_id = 'EGS4NJD38JZ8NTL8' AND risk_period_end_time = '2022-10-01'
Wenn Sie sich die Ergebnisse der Erklärbarkeit ansehen, können Sie erkennen, dass die richtigen Attributfamilien die höchsten Werte erzielen.
Übertragungsjobs im Projekt auflisten
Bash
bq ls --transfer_config \ --transfer_location=LOCATION \ --project_id=PROJECT_ID \ --filter="dataSourceIds:cross_region_copy"
PowerShell
bq ls --transfer_config ` --transfer_location=LOCATION ` --project_id=PROJECT_ID ` --filter="dataSourceIds:cross_region_copy"
Es sollte eine Ausgabe wie die folgende zurückgegeben werden.
name displayName dataSourceId state ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ projects/PROJECT_NUMBER/locations/LOCATION/transferConfigs/TRANSFER_CONFIG_ID Copy the AML sample dataset. cross_region_copy SUCCEEDED
Kopieren Sie den gesamten Namen, der mit
projects/
beginnt und mitTRANSFER_CONFIG_ID
endet.Löschen Sie die Übertragungskonfiguration.
Bash
bq rm --transfer_config TRANSFER_CONFIG_NAME
PowerShell
bq rm --transfer_config TRANSFER_CONFIG_NAME
Erforderliche Berechtigungen
Für diese Kurzanleitung sind die folgenden Berechtigungen erforderlich:
Berechtigung | Beschreibung |
---|---|
resourcemanager.projects.get | Google Cloud -Projekt erhalten |
resourcemanager.projects.list | List Google Cloud projects |
cloudkms.keyRings.create | Cloud KMS-Schlüsselbund erstellen |
cloudkms.cryptoKeys.create | Cloud KMS-Schlüssel erstellen |
financialservices.v1instances.create | AML AI-Instanz erstellen |
financialservices.operations.get | AML AI-Vorgang abrufen |
cloudkms.cryptoKeys.getIamPolicy | IAM-Richtlinie für einen Cloud KMS-Schlüssel abrufen |
cloudkms.cryptoKeys.setIamPolicy | IAM-Richtlinie für einen Cloud KMS-Schlüssel festlegen |
bigquery.datasets.create | BigQuery-Dataset erstellen |
bigquery.datasets.get | BigQuery-Dataset abrufen |
bigquery.transfers.get | Übertragung mit dem BigQuery Data Transfer Service abrufen |
bigquery.transfers.update | Übertragung mit dem BigQuery Data Transfer Service erstellen oder löschen |
bigquery.datasets.setIamPolicy | IAM-Richtlinie für ein BigQuery-Dataset festlegen |
bigquery.datasets.update | BigQuery-Dataset aktualisieren |
financialservices.v1datasets.create | AML AI-Dataset erstellen |
financialservices.v1engineconfigs.create | AML AI-Engine-Konfiguration erstellen |
financialservices.v1models.create | AML AI-Modell erstellen |
financialservices.v1backtests.create | AML AI-Backtest-Ergebnis erstellen |
financialservices.v1backtests.exportMetadata | Metadaten aus einem AML AI-Backtest-Ergebnis exportieren |
financialservices.v1instances.importRegisteredParties | Registrierte Rechtssubjekte in eine AML AI-Instanz importieren |
financialservices.v1predictions.create | AML AI-Vorhersageergebnis erstellen |
bigquery.jobs.create | BigQuery-Job erstellen |
bigquery.tables.getData | Daten aus einer BigQuery-Tabelle abrufen |
financialservices.v1predictions.delete | AML AI-Vorhersageergebnis löschen |
financialservices.v1backtests.delete | AML AI-Backtest-Ergebnis löschen |
financialservices.v1models.delete | AML AI-Modell löschen |
financialservices.v1engineconfigs.delete | AML AI-Engine-Konfiguration löschen |
financialservices.v1datasets.delete | AML AI-Dataset löschen |
financialservices.v1instances.delete | AML AI-Instanz löschen |
bigquery.datasets.delete | BigQuery-Dataset löschen |
Instanz erstellen
In diesem Abschnitt wird beschrieben, wie Sie eine Instanz erstellen. Die AML AI-Instanz befindet sich an der Wurzel aller anderen AML AI-Ressourcen. Für jede Instanz ist ein einzelner zugehöriger vom Kunden verwalteter Verschlüsselungsschlüssel (Customer-Managed Encryption Key, CMEK) erforderlich, mit dem alle von AML AI erstellten Daten verschlüsselt werden.
Schlüsselbund erstellen
Verwenden Sie zum Erstellen eines Schlüsselbunds die Methode projects.locations.keyRings.create
.
REST
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings?key_ring_id=my-key-ring"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings?key_ring_id=my-key-ring" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring", "createTime": CREATE_TIME }
gcloud
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud kms keyrings create my-key-ring \ --location LOCATION
Windows (PowerShell)
gcloud kms keyrings create my-key-ring ` --location LOCATION
Windows (cmd.exe)
gcloud kms keyrings create my-key-ring ^ --location LOCATION
$
Schlüssel erstellen
Verwenden Sie zum Erstellen eines Schlüssels die Methode projects.locations.keyRings.cryptoKeys
.
REST
JSON-Text der Anfrage:
{ "purpose": "ENCRYPT_DECRYPT" }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "purpose": "ENCRYPT_DECRYPT" } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys?crypto_key_id=my-key"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "purpose": "ENCRYPT_DECRYPT" } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$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://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys?crypto_key_id=my-key" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key", "primary": { "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/1", "state": "ENABLED", "createTime": CREATE_TIME, "protectionLevel": "SOFTWARE", "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION", "generateTime": GENERATE_TIME }, "purpose": "ENCRYPT_DECRYPT", "createTime": CREATE_TIME, "versionTemplate": { "protectionLevel": "SOFTWARE", "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION" }, "destroyScheduledDuration": "86400s" }
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud kms keys create my-key \ --keyring my-key-ring \ --location LOCATION \ --purpose "encryption"
Windows (PowerShell)
gcloud kms keys create my-key ` --keyring my-key-ring ` --location LOCATION ` --purpose "encryption"
Windows (cmd.exe)
gcloud kms keys create my-key ^ --keyring my-key-ring ^ --location LOCATION ^ --purpose "encryption"
$
Instanz mit der API erstellen
Verwenden Sie zum Erstellen einer Instanz die Methode projects.locations.instances.create
.
JSON-Text der Anfrage:
{ "kmsKey": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key" }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "kmsKey": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key" } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
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=my-instance"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "kmsKey": "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key" } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$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=my-instance" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Bei erfolgreicher Ausführung enthält der Antworttext einen Vorgang mit langer Laufzeit, der eine ID enthält, mit der der laufende Status des asynchronen Vorgangs abgerufen werden kann. Kopieren Sie den zurückgegebenen OPERATION_ID
, um ihn im nächsten Abschnitt zu verwenden.
Ergebnis prüfen
Mit der Methode projects.locations.operations.get
können Sie prüfen, ob die Instanz erstellt wurde. Wenn die Antwort "done": false
enthält, wiederholen Sie den Befehl, bis die Antwort "done": true
enthält.
Vorgänge in diesem Leitfaden können einige Minuten bis mehrere Stunden dauern. Sie müssen warten, bis ein Vorgang abgeschlossen ist, bevor Sie in dieser Anleitung fortfahren, da die API die Ausgabe einiger Methoden als Eingabe für andere Methoden verwendet.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.financialservices.v1.Instance", "name": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "kmsKey": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key", "state": "ACTIVE" } }
Zugriff auf den CMEK-Schlüssel gewähren
Über die API wird automatisch ein Dienstkonto in Ihrem Projekt erstellt. Das Dienstkonto benötigt Zugriff auf den CMEK-Schlüssel, damit es die zugrunde liegenden Daten mit dem Schlüssel verschlüsseln und entschlüsseln kann. Gewähren Sie den Zugriff auf den Schlüssel.
gcloud kms keys add-iam-policy-binding "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring/cryptoKeys/my-key" \
--keyring "projects/PROJECT_ID/locations/LOCATION/keyRings/my-key-ring" \
--location "LOCATION" \
--member "serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com" \
--role="roles/cloudkms.cryptoKeyEncrypterDecrypter" \
--project="PROJECT_ID"
BigQuery-Datasets erstellen
In diesem Abschnitt wird beschrieben, wie Sie BigQuery-Datasets für Ein- und Ausgabe erstellen und dann Beispielbankdaten in das Eingabe-Dataset kopieren.
Ausgabe-Dataset erstellen
Erstellen Sie ein Dataset, das zum Senden der AML-Pipelineausgaben verwendet werden soll.
Bash
bq mk \
--location=LOCATION \
--project_id=PROJECT_ID \
my_bq_output_dataset
PowerShell
bq mk `
--location=LOCATION `
--project_id=PROJECT_ID `
my_bq_output_dataset
Eingabe-Dataset erstellen
Erstellen Sie ein Dataset, in das Sie die Banking-Beispieltabelle kopieren können.
Bash
bq mk \
--location=LOCATION \
--project_id=PROJECT_ID \
my_bq_input_dataset
PowerShell
bq mk `
--location=LOCATION `
--project_id=PROJECT_ID `
my_bq_input_dataset
Beispiel-Dataset kopieren
Beispieldaten für Banken werden als BigQuery-Dataset im Projekt für freigegebene Datasets von Google bereitgestellt. Sie benötigen Zugriff auf die AML AI API, damit auf dieses Dataset zugegriffen werden kann. Die wichtigsten Merkmale dieses Datasets sind:
Zugriff auf die BigQuery-Datasets gewähren
Über die API wird automatisch ein Dienstkonto in Ihrem Projekt erstellt. Das Dienstkonto benötigt Zugriff auf die BigQuery-Ein- und ‑Ausgabe-Datasets.
AML AI-Dataset erstellen
Erstellen Sie ein AML AI-Dataset, um die BigQuery-Dataset-Tabellen für die Eingabe und den zu verwendenden Zeitraum anzugeben.
Verwenden Sie zum Erstellen eines Datasets die Methode projects.locations.instances.datasets.create
.
JSON-Text der Anfrage:
{ "tableSpecs": { "party": "bq://PROJECT_ID.my_bq_input_dataset.party", "account_party_link": "bq://PROJECT_ID.my_bq_input_dataset.account_party_link", "transaction": "bq://PROJECT_ID.my_bq_input_dataset.transaction", "risk_case_event": "bq://PROJECT_ID.my_bq_input_dataset.risk_case_event", "party_supplementary_data": "bq://PROJECT_ID.my_bq_input_dataset.party_supplementary_data" }, "dateRange": { "startTime": "2020-01-01T00:00:0.00Z", "endTime": "2023-01-01T00:00:0.00Z" }, "timeZone": { "id": "UTC" } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "tableSpecs": { "party": "bq://PROJECT_ID.my_bq_input_dataset.party", "account_party_link": "bq://PROJECT_ID.my_bq_input_dataset.account_party_link", "transaction": "bq://PROJECT_ID.my_bq_input_dataset.transaction", "risk_case_event": "bq://PROJECT_ID.my_bq_input_dataset.risk_case_event", "party_supplementary_data": "bq://PROJECT_ID.my_bq_input_dataset.party_supplementary_data" }, "dateRange": { "startTime": "2020-01-01T00:00:0.00Z", "endTime": "2023-01-01T00:00:0.00Z" }, "timeZone": { "id": "UTC" } } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
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/my-instance/datasets?dataset_id=my-dataset"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "tableSpecs": { "party": "bq://PROJECT_ID.my_bq_input_dataset.party", "account_party_link": "bq://PROJECT_ID.my_bq_input_dataset.account_party_link", "transaction": "bq://PROJECT_ID.my_bq_input_dataset.transaction", "risk_case_event": "bq://PROJECT_ID.my_bq_input_dataset.risk_case_event", "party_supplementary_data": "bq://PROJECT_ID.my_bq_input_dataset.party_supplementary_data" }, "dateRange": { "startTime": "2020-01-01T00:00:0.00Z", "endTime": "2023-01-01T00:00:0.00Z" }, "timeZone": { "id": "UTC" } } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$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/my-instance/datasets?dataset_id=my-dataset" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance/datasets/my-dataset", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Sie können das Ergebnis des Vorgangs anhand der neuen Vorgangs-ID abrufen. Das können Sie auch für die verbleibenden API-Anfragen in diesem Leitfaden tun.
Engine-Konfiguration erstellen
Erstellen Sie eine AML AI Engine-Konfiguration, um Hyperparameter automatisch auf Grundlage einer bestimmten Engine-Version und der bereitgestellten Daten abzustimmen. Engine-Versionen werden regelmäßig veröffentlicht und entsprechen unterschiedlicher Modelllogik (z. B. Ausrichtung auf einen Einzelhandels- im Vergleich zu einem kommerziellen Geschäftsbereich).
Verwenden Sie zum Erstellen einer Engine-Konfiguration die Methode projects.locations.instances.engineConfigs.create
.
Diese Phase umfasst die Hyperparameter-Abstimmung, deren Verarbeitung einige Zeit in Anspruch nehmen kann. Sofern sich Ihre Daten nicht wesentlich ändern, können Sie in diesem Schritt viele Modelle erstellen und testen.
JSON-Text der Anfrage:
{ "engineVersion": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineVersions/aml-commercial.default.v004.008.202411-001", "tuning": { "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2021-07-01T00:00:00Z" }, "performanceTarget": { "partyInvestigationsPerPeriodHint": "30" } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "engineVersion": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineVersions/aml-commercial.default.v004.008.202411-001", "tuning": { "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2021-07-01T00:00:00Z" }, "performanceTarget": { "partyInvestigationsPerPeriodHint": "30" } } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
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/my-instance/engineConfigs?engine_config_id=my-engine-config"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "engineVersion": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineVersions/aml-commercial.default.v004.008.202411-001", "tuning": { "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2021-07-01T00:00:00Z" }, "performanceTarget": { "partyInvestigationsPerPeriodHint": "30" } } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$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/my-instance/engineConfigs?engine_config_id=my-engine-config" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance/engineConfigs/my-engine-config", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Modell erstellen
In diesem Schritt trainieren Sie ein AML AI-Modell mit Daten aus den 12 Monaten vor dem 01.07.2021.
Verwenden Sie zum Erstellen eines Modells die Methode projects.locations.instances.models.create
.
JSON-Text der Anfrage:
{ "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config", "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2021-07-01T00:00:00Z" }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config", "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2021-07-01T00:00:00Z" } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
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/my-instance/models?model_id=my-model"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "engineConfig": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config", "primaryDataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2021-07-01T00:00:00Z" } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$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/my-instance/models?model_id=my-model" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance/models/my-model", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Backtest-Ergebnis erstellen
Beim Backtest der Vorhersage wird das trainierte Modell auf vorhandene Verlaufsdaten angewendet. Erstellen Sie ein Backtest-Ergebnis für die 12 Monate vor Januar 2023, die nicht für das Training verwendet wurden. Anhand dieser Monate wird ermittelt, wie viele Fälle wir hätten bearbeiten müssen, wenn wir das bis Juli 2021 trainierte Modell von Januar bis Dezember 2022 in der Produktion eingesetzt hätten.
Verwenden Sie zum Erstellen eines Backtest-Ergebnisses die Methode projects.locations.instances.backtestResults.create
.
JSON-Text der Anfrage:
{ "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2023-01-01T00:00:00Z", "backtestPeriods": 12, "performanceTarget": { "partyInvestigationsPerPeriodHint": "150" } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2023-01-01T00:00:00Z", "backtestPeriods": 12, "performanceTarget": { "partyInvestigationsPerPeriodHint": "150" } } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
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/my-instance/backtestResults?backtest_result_id=my-backtest-results"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2023-01-01T00:00:00Z", "backtestPeriods": 12, "performanceTarget": { "partyInvestigationsPerPeriodHint": "150" } } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$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/my-instance/backtestResults?backtest_result_id=my-backtest-results" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance/backtestResults/my-backtest-results", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Metadaten der Backtest-Ergebnisse exportieren
Nachdem ein Backtest ausgeführt wurde, müssen Sie die Ergebnisse nach BigQuery exportieren, um sie aufzurufen. Verwenden Sie die Methode projects.locations.instances.backtestResults.exportMetadata
, um Metadaten aus dem Backtestergebnis zu exportieren.
JSON-Text der Anfrage:
{ "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_backtest_results_metadata", "writeDisposition": "WRITE_TRUNCATE" } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_backtest_results_metadata", "writeDisposition": "WRITE_TRUNCATE" } } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
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/my-instance/backtestResults/my-backtest-results:exportMetadata"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "structuredMetadataDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_backtest_results_metadata", "writeDisposition": "WRITE_TRUNCATE" } } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$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/my-instance/backtestResults/my-backtest-results:exportMetadata" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance/backtestResults/my-backtest-results", "verb": "exportMetadata", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Wenn der Vorgang abgeschlossen ist, gehen Sie so vor:
Weitere Informationen zu den anderen Feldern in den Backtest-Ergebnissen
Wenn Sie das Feld partyInvestigationsPerPeriodHint
ändern, können Sie die Anzahl der Untersuchungen anpassen, die bei einem Backtest generiert werden. Um Scores zu erhalten, die Sie untersuchen können, müssen Sie Parteien registrieren und Vorhersagen für diese erstellen.
Registrierte Rechtssubjekte importieren
Bevor Sie Vorhersageergebnisse erstellen können, müssen Sie registrierte Parteien (d. h. Kunden im Dataset) importieren.
Verwenden Sie die Methode projects.locations.instances.importRegisteredParties
, um registrierte Rechtssubjekte zu importieren.
JSON-Text der Anfrage:
{ "partyTables": [ "bq://PROJECT_ID.my_bq_input_dataset.party_registration" ], "mode": "REPLACE", "lineOfBusiness": "COMMERCIAL" }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "partyTables": [ "bq://PROJECT_ID.my_bq_input_dataset.party_registration" ], "mode": "REPLACE", "lineOfBusiness": "COMMERCIAL" } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
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/my-instance:importRegisteredParties"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "partyTables": [ "bq://PROJECT_ID.my_bq_input_dataset.party_registration" ], "mode": "REPLACE", "lineOfBusiness": "COMMERCIAL" } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$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/my-instance:importRegisteredParties" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance", "verb": "importRegisteredParties", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Prüfen Sie regelmäßig, ob der Vorgang abgeschlossen ist. Nach Abschluss des Vorgangs sollten in der JSON-Ausgabe 10.000 Parteien registriert sein.
Vorhersageergebnis erstellen
Erstellen Sie ein Vorhersageergebnis für die letzten zwölf Monate im Dataset. Diese Monate wurden während des Trainings nicht verwendet. Wenn Sie Vorhersageergebnisse erstellen, werden für jede Partei in jedem Monat und für alle Vorhersagezeiträume Werte generiert.
Verwenden Sie zum Erstellen eines Vorhersageergebnisses die Methode projects.locations.instances.predictionResults.create
.
JSON-Text der Anfrage:
{ "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2023-01-01T00:00:00Z", "predictionPeriods": "12", "outputs": { "predictionDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results", "writeDisposition": "WRITE_TRUNCATE" }, "explainabilityDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results_explainability", "writeDisposition": "WRITE_TRUNCATE" } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2023-01-01T00:00:00Z", "predictionPeriods": "12", "outputs": { "predictionDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results", "writeDisposition": "WRITE_TRUNCATE" }, "explainabilityDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results_explainability", "writeDisposition": "WRITE_TRUNCATE" } } } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
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/my-instance/predictionResults?prediction_result_id=my-prediction-results"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "model": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model", "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset", "endTime": "2023-01-01T00:00:00Z", "predictionPeriods": "12", "outputs": { "predictionDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results", "writeDisposition": "WRITE_TRUNCATE" }, "explainabilityDestination": { "tableUri": "bq://PROJECT_ID.my_bq_output_dataset.my_prediction_results_explainability", "writeDisposition": "WRITE_TRUNCATE" } } } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$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/my-instance/predictionResults?prediction_result_id=my-prediction-results" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance/predictionResults/my-prediction-results", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Einzelnen Strukturierungsfall in der Google Cloud -Konsole analysieren
Bereinigen
Löschen Sie das Google Cloud -Projekt mit den Ressourcen, damit Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.
Vorhersageergebnis löschen
Wenn Sie ein Vorhersageergebnis löschen möchten, verwenden Sie die Methode projects.locations.instances.predictionResults.delete
.
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/predictionResults/my-prediction-results"
PowerShell
Führen Sie folgenden Befehl aus:
$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/my-instance/predictionResults/my-prediction-results" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance/predictionResults/my-prediction-results", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Backtest-Ergebnis löschen
Wenn Sie ein Backtest-Ergebnis löschen möchten, verwenden Sie die Methode projects.locations.instances.backtestResults.delete
.
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/backtestResults/my-backtest-results"
PowerShell
Führen Sie folgenden Befehl aus:
$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/my-instance/backtestResults/my-backtest-results" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance/backtestResults/my-backtest-results", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Modell löschen
Verwenden Sie zum Löschen eines Modells die Methode projects.locations.instances.models.delete
.
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/models/my-model"
PowerShell
Führen Sie folgenden Befehl aus:
$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/my-instance/models/my-model" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance/models/my-model", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Engine-Konfiguration löschen
Verwenden Sie zum Löschen einer Engine-Konfiguration die Methode projects.locations.instances.engineConfigs.delete
.
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/engineConfigs/my-engine-config"
PowerShell
Führen Sie folgenden Befehl aus:
$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/my-instance/engineConfigs/my-engine-config" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance/engineConfigs/my-engine-config", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Dataset löschen
Wenn Sie ein Dataset löschen möchten, verwenden Sie die Methode projects.locations.instances.datasets.delete
.
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance/datasets/my-dataset"
PowerShell
Führen Sie folgenden Befehl aus:
$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/my-instance/datasets/my-dataset" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance/datasets/my-dataset", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Instanz löschen
Verwenden Sie die Methode projects.locations.instances.delete
, um eine Instanz zu löschen.
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/my-instance"
PowerShell
Führen Sie folgenden Befehl aus:
$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/my-instance" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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/my-instance", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
BigQuery-Datasets löschen
bq rm -r -f -d PROJECT_ID:my_bq_input_dataset
bq rm -r -f -d PROJECT_ID:my_bq_output_dataset