Elevate your learning experience with our cutting-edge AI-powered assistant that transforms the way you interact with educational content. Leveraging the advanced capabilities of Google's Gemini Pro LLM, this application offers a suite of features designed to enhance comprehension, retention, and engagement with your study materials.
- Intelligent Document Processing: Easily upload and analyze multiple PDF documents.
- Interactive Q&A: Have dynamic conversations about your content.
- Adaptive Quiz Generation: Automatically generate quizzes to test your knowledge.(Still glitchy, working on fixes!!)
- Smart Summarization: Receive concise overviews of complex documents.
- Flashcard Creation: Create study aids for efficient revision.
- Multilingual Support: Translate content into various languages.
- Document Sharing: Share processed documents via email.
- Text Complexity Analysis: Understand the readability of your materials.
- Key Concept Extraction: Quickly identify crucial ideas.
- Audio Learning: Convert text to speech for on-the-go studying. (Coming Soon)
- Progress Tracking: Keep a comprehensive chat history of your learning journey.
- Core:
Python 3.11
- Framework:
Streamlit
- AI Model:
Google Gemini Pro
- NLP & ML:
LangChain
,Transformers
,Scikit-learn
- Data Processing:
PyPDF2
,FAISS
- Visualization:
Matplotlib
,Seaborn
- Audio:
gTTS
(Google Text-to-Speech)
-
Clone & Setup:
For Mac/Linux:
git clone https://github.com/anubhab-m02/PDF-QnA.git cd PDF-QnA python -m venv venv source venv/bin/activate pip install -r requirements.txt
For Windows:
git clone https://github.com/anubhab-m02/PDF-QnA.git cd PDF-QnA python -m venv venv venv\Scripts\activate pip install -r requirements.txt
-
API Configuration:
- Obtain a Google Cloud API key with Gemini Pro access.
- Create a
.env
file in the project root:GOOGLE_API_KEY=your_api_key_here
-
Launch:
streamlit run app.py
- Document Upload: Use the sidebar to upload your PDF documents.
- Processing: Click "Process Documents" to analyze your materials.
- Feature Selection: Choose from a variety of learning tools in the main interface.
- Interaction: Engage with the AI assistant through your chosen feature.
- Safe Deserialization: Exercise caution with
allow_dangerous_deserialization=True
. Only use with trusted FAISS index sources. - Efficient Indexing: The FAISS index updates incrementally, preserving knowledge from all uploaded documents.
- Automatic Cleanup: Old data and large caches are periodically removed to maintain performance.
Contributions are welcome! Whether it's feature suggestions, bug reports, or code improvements, please feel free to open an issue or submit a pull request.