Distribuire
Per distribuire questa soluzione, è necessario prima impostare la directory del progetto.
Definire una variabile di ambiente per la directory di progetto principale.
export PROJECT_DIR=~/morpheus_fraud_detection
mkdir -p $PROJECT_DIR
cd $PROJECT_DIR
Terminale 1: eseguire la pipeline Morpheus
Questo comando avvia la swimlane Morpheus Pipeline (Docker Container).
La pipeline verrà inizializzata e quindi attenderà l'arrivo dei dati sul sito
Kafka Topic: Input
.cd $PROJECT_DIR/Morpheus
docker run --rm -it --net=host --cap-add=sys_nice \ --runtime=nvidia --gpus=all \ -v $(pwd):/morpheus \ nvcr.io/nvidia/morpheus/morpheus:25.02-runtime bash
# --- INSIDE THE CONTAINER ---
cd /morpheus
conda env update --solver=libmamba -n ${CONDA_DEFAULT_ENV} --file ./conda/environments/examples_cuda-125_arch-$(arch).yaml python examples/gnn_fraud_detection_pipeline/run.py
Output previsto: verranno visualizzati i log di Morpheus durante la creazione della pipeline. Apparirà quindi sospeso, che è il comportamento corretto in quanto ora sta ascoltando attivamente i messaggi.
Terminale 2: eseguire il consumer Kafka
Questo comando avvia il consumer Python nel swimlane dell'ambiente host.
Sottoscrive il Kafka Topic: Output
e mostrerà tutti i risultati pubblicati dalla pipeline Morpheus.
cd $PROJECT_DIR
source kafka_env/bin/activate
python3 consumer.py
Output previsto: il messaggio verrà visualizzato
"Listening for fraud detection results..."
e il terminale rimarrà in attesa.
Terminale 3: eseguire il producer Kafka
Questo comando avvia il producer Python, che legge dal file Transaction Data
.
Inizia il Input Stream
nel Kafka Topic: Input
. Questa azione attiva l'intero flusso end-to-end.
cd $PROJECT_DIR
source kafka_env/bin/activate
python3 producer.py
Output previsto: verrà visualizzata una serie di messaggi
"Sent transaction index..."
mentre i dati vengono pubblicati. Allo stesso tempo, vedrai la pipeline Morpheus nel Terminal 1 iniziare a elaborare i dati e gli avvisi di frode finali appariranno nel Terminal 2.