- Introduction
- Demo
- Inspiration
- What It Does
- How We Built It
- Challenges We Faced
- How to Run
- Tech Stack
- Architecture Overview
- Example Use Case
- Additional Details
- Team
GAIDP Fin Buddy is a financial assistant application designed to help businesses and individuals stay compliant with regulatory guidelines. It enables users to create data profiling rules from regulatory documents and apply these rules to transactional data for compliance analysis, risk scoring, and remediation.
🔗 Live Demo
📹 [Video Demo](.artifacts/demo/fin-buddy-demo - Made with Clipchamp.mp4)
The inspiration for GAIDP Fin Buddy came from the need to help businesses and individuals stay compliant with regulatory guidelines. Understanding and mitigating risks associated with regulatory compliance can be challenging, and this application aims to simplify the process by providing actionable insights and automated analysis.
- Creates Profile Rules: Extracts data profiling rules from user-provided regulatory documents (e.g., PDFs).
- Analyzes Transactions: Validates transactional data against the extracted rules to identify compliance violations, anomalies, and risks.
- Generates Reports: Produces detailed reports with actionable insights to help users address compliance issues.
- Ensures Regulatory Compliance: Helps businesses and individuals adhere to regulatory guidelines efficiently.
- AI Integration: Leveraged Google Generative AI for extracting complex rules from regulatory documents.
- Backend Logic: Developed custom logic in Python to process and validate transactional data.
- Server: Deployed the application on a FastAPI server for robust and scalable API handling.
- Data Processing: Used libraries like
pandas
andpdfplumber
for data manipulation and PDF parsing.
- Limited Free API Usage: The free tier of Google Generative AI APIs restricted the number of requests we could make, requiring careful optimization.
- Computational Resources: Lack of sufficient computational resources posed challenges in processing large datasets efficiently.
- Dataset Creation: Had to create our own datasets for testing and validation due to the unavailability of suitable public datasets.
- Process Optimization: Integrated multiple APIs and optimized the workflow to ensure smooth and efficient processing.
- Clone the repository
git clone https://github.com/gaidp-fin-buddy.git
- Install dependencies
pip install -r requirements.txt
- Add your Gemini API keys (optional for faster processing):
- Open the
keys.py
file in thecode
directory. - Add your Gemini API key in the following format:
GOOGLE_API_KEY = "your_api_key_here"
- Open the
- Run the project
py .\code\src\main.py
- 🔹 Frontend: JS/HTML
- 🔹 Backend: FastAPI
- 🔹 Engine: Python/Gemini
The solution consists of the following components:
- Frontend: A web-based interface built with Flask for uploading files, viewing reports, and downloading results.
- Backend: A Python-based backend that processes uploaded files, extracts rules, and analyzes transactions.
- AI Integration: Utilizes Google's Gemini AI model for rule extraction and validation.
- Data Processing: Uses libraries like
pandas
for data manipulation andpdfplumber
for PDF parsing. - Storage: Stores intermediate and final results in JSON and Excel formats.
- File Upload:
- Users upload a regulatory PDF and a transaction CSV file via the web interface.
- A schedule name is provided to identify the relevant section in the PDF.
- Rule Extraction:
- The backend uses
pdfplumber
to extract text from the specified schedule in the PDF. - Google's Gemini AI model processes the text to generate data profiling rules.
- The backend uses
- Transaction Analysis:
- The uploaded transaction data is validated against the extracted rules.
- Violations, anomalies, and missing fields are identified.
- Risk scores are calculated for each transaction.
- Report Generation:
- Results are saved in JSON and Excel formats.
- Users can download the reports or view them in the web interface.
- A business uploads a regulatory document (e.g., "Guidelines for Securities") and a CSV file containing transaction data.
- The system extracts rules from the "B—Securities" schedule in the document. (The name should exactly match any section/schedule from the guideline/instructions pdf index.)
- The uploaded transactions are analyzed against these rules.
- The system identifies violations (e.g., missing fields, invalid values) and assigns risk scores.
- A detailed report is generated, highlighting issues and providing remediation suggestions.
-
Tested Schedule: The application has been tested with the "B—Securities" schedule but is compatible with other schedules as well. Ensure the schedule name matches one from the provided guideline PDF.
-
Input Requirements:
- Guideline PDF: Contains the regulatory schedules and rules.
- Transaction Data: A CSV file with transaction details.
- Schedule Name: The name of the schedule to be analyzed (must match a schedule in the PDF).
-
Processing Time: The application uses free API keys, which may result in slower processing. For faster results, use your own Gemini API keys as described above.
-
Output: A downloadable report containing remediation risks, violations, anomalies, and other insights.
-
You can use sample input files from
test
directory
- Sirisha - #Manager
- Aksh - GitHub
- Priyanka
- Vaishnavi