A modular agent system for real-time transaction fraud detection using similarity retrieval, machine learning (ML) classification and artificial intelligence (AI) reasoning.
# Navigate to project directory
cd agentic_ai_fraud_detection_demo
# Activate virtual environment
.\venv\Scripts\Activate.ps1
# If you get execution policy error, run:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
.\venv\Scripts\Activate.ps1
# Install dependencies
python -m pip install --upgrade pip setuptools wheel
python -m pip install -r requirements.txt
# Deactivate virtual environment
deactivate# Launch interactive web interface
streamlit run src\dashboard.pyThen, ctrl+click the link to view in your browser or copy the link: http://localhost:8502
Features:
- ποΈ Interactive transaction selection
- π Real-time fraud detection with Visualisation
- π AI reasoning explanations
- π Similar fraud pattern retrieval
- π PCA Visualisation of vector embeddings
# Run with default settings
python src/main.py
# Run single sample with Visualisation
python src/main.py --samples 1
# Run 5 samples without plots
python src/main.py --samples 5 --no-plot
# Run Streamlit from main.py (alternative method)
python src/main.py --interactiveagentic_ai_fraud_detection_demo/
βββ src/
β βββ streamlit_app.py # Streamlit web interface
β βββ main.py # CLI entry point
β βββ data_loader.py # Data loading & preprocessing
β βββ model.py # PyTorch/Sklearn ML models
β βββ vector_store.py # In-memory vector similarity search
β βββ agents.py # Multi-agent system (Retriever, Classifier, Reasoning)
β βββ visual.py # PCA visualisation generation
β βββ utils.py # Debug & utility functions
βββ data/
β βββ paysim.csv # PaySim transaction dataset (Optional)
β βββ momtsim.csv # Synthetic mobile money dataset (Optional)
βββ plots/ # Generated visualisations
βββ requirements.txt # Python dependencies
βββ README.md # Technical documentation
βββ COLOUR_CUSTOMISATION.md # Streamlit colour customisation
-
π Retriever Agent
- Performs cosine similarity search in vector store
- Retrieves top-k similar fraud patterns
- Returns contextual fraud examples
-
π€ Classifier Agent
- ML-based fraud probability prediction
- Uses Scikit-learn Logistic Regression (PyTorch fallback)
- Augments predictions with retrieved patterns
-
π Reasoning Agent
- Combines classifier output with retrieval context
- Generates human-readable explanations
- Makes final fraud or legit decision with confidence
Transaction β Retriever β Classifier β Reasoning β Decision + Explanation
β β β
Vector Store ML Model Contextual
(Cosine Sim) (Sklearn) Analysis
- NumPy - Numerical computations
- Pandas - Data manipulation & preprocessing
- Scikit-learn - ML models & metrics
- PyTorch - Deep learning (optional, fallback)
- Matplotlib - Plot generation
- Seaborn - Statistical Visualisations
- PCA - Dimensionality reduction for vector Visualisation
- Streamlit - Interactive web dashboard
- PaySim - Synthetic mobile money transaction dataset
- MoMTsim - Alternative mobile money dataset
- Synthetic fallback - Auto-generated if datasets unavailable
- β Multi-agent fraud detection pipeline
- β Vector similarity search (cosine similarity)
- β ML classification with confidence scores
- β Explainable AI reasoning
- β Interactive Streamlit dashboard
- β CLI for batch processing
- β PCA Visualisation of fraud patterns
- β System fallbacks (PyTorch β Sklearn, Real data β Synthetic)
- π Add CIS-IEEE anonymised dataset
- π Replace in-memory vector store with FAISS
- π Integrate LangChain/LangGraph for LLM-powered reasoning
- π Deploy on AWS SageMaker
- π Implement model monitoring & drift detection
- π Add real-time streaming with Kafka
- π Add A/B testing framework
- π Scale with Ray for distributed inference
Edit src/model.py to adjust:
- Training epochs:
epochs=5 - Batch size:
batch_size=1024 - Learning rate:
lr=0.001
Edit src/agents.py to adjust:
- Top-k retrieval:
top_k=3 - Fraud threshold:
threshold=0.5 - Confidence calculation method
If you see OSError: DLL initialization failed, the system automatically falls back to Scikit-learn. To fix PyTorch:
# Option 1: Reinstall PyTorch CPU version
pip uninstall torch
pip install torch --index-url https://download.pytorch.org/whl/cpu
# Option 2: Install Visual C++ Redistributable
# Download from: https://aka.ms/vs/17/release/vc_redist.x64.exe# Ensure you are in the project root and venv is activated
cd agentic_ai_fraud_detection_demo
.\venv\Scripts\Activate.ps1pip install streamlit=== Agentic AI Demo (CLI Mode) ===
Sklearn Metrics: Acc=0.565, Prec=0.514, Rec=1.000, F1=0.679
Sample 1 (True Fraud: 0.0): Features=[ 0.1027436 -0.08124469]...
Retriever: Retrieved 3 similar patterns.
Classifier: Fraud prob = 0.088 (aug: 0.438)
Reasoning: LEGIT (conf: 0.088) - Prob: 0.088, Patterns: ['High amount transfer: 152961...']
------------------------------------------------------------
Saved Visualisation to plots\sample_0_retrieved.png
- β Model trained! Dataset: 4862220 transactions, 2233935 fraud cases
- ποΈ Interactive controls for sample selection
- π Visual fraud probability metrics
- π Detailed reasoning with retrieved patterns
- π PCA embedding Visualisation
# Run quick test with 1 sample
python src/main.py --samples 1
# Test Streamlit app
streamlit run src/dashboard.py- Dataset: Uses synthetic data by default. Place
paysim.csvormomtsim.csvindata/folder for real datasets. - Performance: Demo uses ~5M transactions.
- Model: Simple logistic regression for demo.
- Vector Store: In-memory for demo.
Please open an issue on the repo to contribute, ask questions or give feedback about the demo.
Licensed under the PolyForm Noncommercial License - Commercial use is prohibited
Copyright (c) 2025 Oluwakemi Obadeyi