Skip to content

Edryana/LearnMate_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LearnMate AI Chatbot

Overview

LearnMate is an AI-powered educational chatbot designed to assist students in understanding academic materials more effectively. The system uses a Retrieval-Augmented Generation (RAG) approach to provide accurate, context-based answers from course-related documents.

Unlike traditional chatbots, LearnMate retrieves relevant information from a knowledge base before generating responses, ensuring higher accuracy and relevance.


Features

  • 📚 Context-aware chatbot using RAG architecture
  • 🔍 Retrieval of relevant content from academic materials
  • 💡 Follow-up prompt suggestions for continuous learning
  • 🧠 Topic-based learning support
  • ⚡ Fast response using vector search (FAISS)

Tech Stack

  • Python
  • FAISS (Vector Database)
  • LLM Integration (Ollama)
  • VS Code

System Architecture

The system follows a Retrieval-Augmented Generation pipeline:

  1. Data Preprocessing

    • Convert documents (PDF, PPTX, DOCX) into text
    • Split text into smaller chunks
  2. Embedding Generation

    • Convert text chunks into vector embeddings
  3. Vector Storage

    • Store embeddings using FAISS index
  4. Query Processing

    • User inputs a question
  5. Retrieval

    • System retrieves most relevant chunks
  6. Response Generation

    • LLM generates answer based on retrieved context

Project Structure

LearnMate_Project/
│
├── app/                # Main application (chatbot interface)
├── rag/                # Retrieval and chatbot logic
├── preprocessing/      # Text extraction and chunking
├── embeddings/         # Embedding generation scripts
├── vectorstore/        # FAISS index handling
│
├── .gitignore
└── README.md

How to Run

  1. Clone the repository:
git clone https://github.com/Edryana/LearnMate_Project.git
cd LearnMate_Project
  1. Install dependencies:
pip install -r requirements.txt
  1. Run preprocessing (if needed):
python preprocessing/convert_to_text.py
python preprocessing/chunk_text.py
  1. Generate embeddings:
python embeddings/create_embeddings.py
  1. Run the chatbot:
python app/app.py

Notes

  • Dataset files are not included due to size limitations
  • Users may need to provide their own academic materials for testing

Future Improvements

  • Web-based UI integration
  • More advanced ranking for retrieval
  • Support for multiple subjects
  • Performance optimization

Author

Edryana Bachelor of Computer Science (Hons.) UiTM Jasin, Melaka

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages