A comprehensive fraud detection system that uses artificial intelligence to identify scam calls and text messages in multiple Indian languages.
Live Demo: https://frauddetectionapp.publicvm.com/
Demo Video: Watch on Google Drive
The AI-FraudCall-Detector is an intelligent system designed to identify potential fraud in phone calls and SMS messages. Using various AI models including LLMs, BERT, and fine-tuned Gemma, the system analyzes text and audio inputs to determine if they exhibit characteristics of fraudulent communication. The project supports multiple Indian languages and provides both text and audio-based analysis.
AI-FraudCall-Detector/
│
├── app/ # Main application backend
│ ├── __init__.py
│ ├── .env # Environment variables
│ ├── config.py # Configuration settings
│ ├── main.py # FastAPI main application
│ ├── utils.py # Utility functions
│ ├── Evaluation/ # Model evaluation tools
│ ├── IndicTransToolkit/ # Indian language support tools
│ ├── models/ # Model definitions
│ ├── routers/ # FastAPI routers
│ └── services/ # Business logic services
│
├── Dataset/ # Dataset files
│ ├── data_call.csv # Call transcript data
│ ├── data.csv # Main dataset
│ ├── merged_call_data.csv # Combined call data
│ ├── merged_call_text.csv # Text extracted from calls
│ └── sample_audio_infer_ready.wav # Sample audio file
│
├── dataset/ # Dataset generation tools
│ ├── call_dataset/ # Tools for call dataset generation
│ └── sms_audio_dataset/ # SMS and audio dataset generation
│ ├── audio_file_generator.py # Generates audio from text
│ ├── generate_scam_call_transcript.py # Creates call transcripts
│ ├── generate_scam_sms_dataset.py # Creates SMS datasets
│ ├── sarvam_wrapper.py # API wrapper for Sarvam AI
│ ├── requirements.txt # Dependencies
│ └── README.md # Documentation
│
├── fraud_app/ # Streamlit UI application
│ ├── utils.py # UI utility functions
│ ├── server.py # FastAPI server for UI
│ ├── main.py # Streamlit main app
│ ├── requirements.txt # UI dependencies
│ └── pages/ # Streamlit pages
│ ├── 1_💬_Text_Input.py # Text analysis page
│ ├── 2_📁_Upload_Audio.py # Audio upload page
│ └── 3_🎤_Live_Recording.py # Live recording page
│
├── Ingestion/ # Data ingestion pipeline
│ ├── ingest.py # Data ingestion script
│ └── preprocess.py # Data preprocessing
│
├── fraud-detector-fastapi/ # FastAPI backend service
│ └── main.py # API endpoint definitions
│
├── results/ # Evaluation results
│ └── evaluation_results.csv # Performance metrics
│
├── Temp/ # Experimental code
│ ├── gemma_test.py # Gemma model testing
│ ├── llama_v1.py # LLaMA model implementation
│ └── meta_llama.py # Meta's LLaMA testing
│
├── report/ # Project documentation
│ └── Team_4__AI_Enabled_Scam_Detection.pdf # Detailed project report
│
├── requirements.txt # Project dependencies
├── README.md # Project overview
├── app.py # Combined app entry point
└── eval_result_object.joblib # Saved evaluation results
The system implements four distinct AI approaches for fraud detection, each with different trade-offs between accuracy, efficiency, and deployment considerations:
The project also tested GPT-based approaches (Few-Shot + CoT and RAG with GPT), which achieved the highest F1 scores (0.98) but are least suitable for edge deployment due to their cloud-based nature and massive parameter count (1.8T).
The project uses multiple types of datasets:
The system follows a multimodal architecture with three main components:
Input Interface: Streamlit-based web application supporting:
Preprocessing and Translation:
Classification and Inference:
# Run Qdrant vector database
sudo docker run -d --name qdrant -d -p 6333:6333 qdrant/qdrant
# Create database collections
python db_creation.py
# Clone the repository
git clone https://github.com/yourusername/AI-FraudCall-Detector.git
cd AI-FraudCall-Detector
# Install dependencies
pip install -r requirements.txt
# Start the FastAPI backend
python app/main.py
# Navigate to the fraud_app directory
cd fraud_app
# Install Streamlit UI dependencies
pip install -r requirements.txt
# Start the Streamlit UI
streamlit run Home.py
Based on model evaluations and trade-offs analyzed in the report:
For detailed performance metrics and comparative analysis, see the evaluation results in the project report.
This project was developed by Team 4 for the AI-Enabled Scam Detection challenge. For details, see the project report in the report folder.
This project is licensed under the MIT License. See the LICENSE file for details.
A comprehensive fraud detection system that uses artificial intelligence to identify scam calls and text messages in multiple Indian languages.
Live Demo: https://frauddetectionapp.publicvm.com/
Demo Video: Watch on Google Drive
The AI-FraudCall-Detector is an intelligent system designed to identify potential fraud in phone calls and SMS messages. Using various AI models including LLMs, BERT, and fine-tuned Gemma, the system analyzes text and audio inputs to determine if they exhibit characteristics of fraudulent communication. The project supports multiple Indian languages and provides both text and audio-based analysis.
AI-FraudCall-Detector/
│
├── app/ # Main application backend
│ ├── __init__.py
│ ├── .env # Environment variables
│ ├── config.py # Configuration settings
│ ├── main.py # FastAPI main application
│ ├── utils.py # Utility functions
│ ├── Evaluation/ # Model evaluation tools
│ ├── IndicTransToolkit/ # Indian language support tools
│ ├── models/ # Model definitions
│ ├── routers/ # FastAPI routers
│ └── services/ # Business logic services
│
├── Dataset/ # Dataset files
│ ├── data_call.csv # Call transcript data
│ ├── data.csv # Main dataset
│ ├── merged_call_data.csv # Combined call data
│ ├── merged_call_text.csv # Text extracted from calls
│ └── sample_audio_infer_ready.wav # Sample audio file
│
├── dataset/ # Dataset generation tools
│ ├── call_dataset/ # Tools for call dataset generation
│ └── sms_audio_dataset/ # SMS and audio dataset generation
│ ├── audio_file_generator.py # Generates audio from text
│ ├── generate_scam_call_transcript.py # Creates call transcripts
│ ├── generate_scam_sms_dataset.py # Creates SMS datasets
│ ├── sarvam_wrapper.py # API wrapper for Sarvam AI
│ ├── requirements.txt # Dependencies
│ └── README.md # Documentation
│
├── fraud_app/ # Streamlit UI application
│ ├── utils.py # UI utility functions
│ ├── server.py # FastAPI server for UI
│ ├── main.py # Streamlit main app
│ ├── requirements.txt # UI dependencies
│ └── pages/ # Streamlit pages
│ ├── 1_💬_Text_Input.py # Text analysis page
│ ├── 2_📁_Upload_Audio.py # Audio upload page
│ └── 3_🎤_Live_Recording.py # Live recording page
│
├── Ingestion/ # Data ingestion pipeline
│ ├── ingest.py # Data ingestion script
│ └── preprocess.py # Data preprocessing
│
├── fraud-detector-fastapi/ # FastAPI backend service
│ └── main.py # API endpoint definitions
│
├── results/ # Evaluation results
│ └── evaluation_results.csv # Performance metrics
│
├── Temp/ # Experimental code
│ ├── gemma_test.py # Gemma model testing
│ ├── llama_v1.py # LLaMA model implementation
│ └── meta_llama.py # Meta's LLaMA testing
│
├── report/ # Project documentation
│ └── Team_4__AI_Enabled_Scam_Detection.pdf # Detailed project report
│
├── requirements.txt # Project dependencies
├── README.md # Project overview
├── app.py # Combined app entry point
└── eval_result_object.joblib # Saved evaluation results
The system implements four distinct AI approaches for fraud detection, each with different trade-offs between accuracy, efficiency, and deployment considerations:
The project also tested GPT-based approaches (Few-Shot + CoT and RAG with GPT), which achieved the highest F1 scores (0.98) but are least suitable for edge deployment due to their cloud-based nature and massive parameter count (1.8T).
The project uses multiple types of datasets:
The system follows a multimodal architecture with three main components:
Input Interface: Streamlit-based web application supporting:
Preprocessing and Translation:
Classification and Inference:
# Run Qdrant vector database
sudo docker run -d --name qdrant -d -p 6333:6333 qdrant/qdrant
# Create database collections
python db_creation.py
# Clone the repository
git clone https://github.com/yourusername/AI-FraudCall-Detector.git
cd AI-FraudCall-Detector
# Install dependencies
pip install -r requirements.txt
# Start the FastAPI backend
python app/main.py
# Navigate to the fraud_app directory
cd fraud_app
# Install Streamlit UI dependencies
pip install -r requirements.txt
# Start the Streamlit UI
streamlit run Home.py
Based on model evaluations and trade-offs analyzed in the report:
For detailed performance metrics and comparative analysis, see the evaluation results in the project report.
This project was developed by Team 4 for the AI-Enabled Scam Detection challenge. For details, see the project report in the report folder.
This project is licensed under the MIT License. See the LICENSE file for details.