QnABuilderAI


Project Technical Information

Project Name:
QnABuilderAI
Project Type:
AI Question Generation PDF Processing & RAG Educational Technology
Tech Stack:
Python Flask Mistral AI Phidata FAISS Sentence-Transformers LangChain PyPDF ReportLab Transformers Bootstrap 5
AI Models:
Mistral AI (Question Generation) all-mpnet-base-v2 (Text Embeddings) FAISS Inner Product (Vector Search)

Project Summary

An intelligent AI-powered Flask web application that transforms PDF documents into high-quality questions. It processes PDFs using advanced chunking strategies, creates embeddings with sentence-transformers, indexes content in FAISS, detects topics automatically, and uses Mistral AI via an agentic flow to generate MCQs, short Q&A, and descriptive questions with downloadable CSV/PDF reports.

Skills Demonstrated

AI Question Generation PDF Processing & RAG Vector Embeddings & FAISS Topic Detection & Classification Flask Web Application Agentic AI Workflows Educational Technology

Tools Used

Python Flask Mistral AI Phidata FAISS-CPU Sentence-Transformers LangChain PyPDF ReportLab Transformers Bootstrap

Solution

Users upload PDF documents and configure processing parameters (page range, chunking strategy). The app processes PDFs with configurable text splitters, creates embeddings using all-mpnet-base-v2, indexes content in FAISS, automatically detects topics, and generates questions using Mistral AI. Results are exported as CSV or styled PDF reports with comprehensive question sets.

Approach

  1. Upload: Accept PDF documents with drag & drop interface.
  2. Configure: Set chunking strategy, size/overlap, and page range (max 30 pages).
  3. Process: Parse PDF with PyPDF, split text using LangChain splitters.
  4. Embed: Create embeddings with sentence-transformers and index in FAISS.
  5. Topics: Auto-detect topics using Mistral AI with retry mechanisms.
  6. Generate: Create MCQs, short Q&A, and descriptive questions by difficulty.
  7. Export: Download results as CSV or styled PDF via ReportLab.

Project Link(s)

Designed and Developed by Aradhya Pavan H S