The RaG Application is a Django-based service designed to assist educators by creating an intelligent teacher bot. This bot leverages Retrieval-Augmented Generation (RAG) architecture, integrating Chroma Vector Database with the powerful Gemini API. The application allows users to upload PDF files, which are processed to enable efficient information retrieval and test generation.
- PDF Upload: Users can upload PDF files containing educational content.
- Teacher Bot (RAG): Utilizes Chroma Vector DB and Gemini API to provide accurate and context-aware responses.
- Custom Test Generation: Generate tests with customizable options such as total marks, number of questions, and difficulty levels.
- Backend: Django
- Database: Chroma Vector DB
- API Integration: Gemini API
- AI Architecture: Retrieval-Augmented Generation (RAG)
- Clone the repository:
git clone <repository-url> cd rag-application
- Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install dependencies:
pip install -r requirements.txt
- Apply migrations:
python manage.py migrate
- Run the server:
python manage.py runserver
- Upload PDF Files: Navigate to the upload section and select the desired PDFs.
- Interact with Teacher Bot: Ask questions based on the uploaded content.
- Generate Tests: Specify custom parameters like total marks, number of questions, and difficulty level to create tailored tests.
- Gemini API Key: Add your Gemini API key in the
.env
file:GEMINI_API_KEY=your_api_key_here
- Database Settings: Update
settings.py
if needed to configure Chroma Vector DB.
- Fork the repository
- Create a new branch (
git checkout -b feature-branch
) - Commit your changes (
git commit -m 'Add new feature'
) - Push to the branch (
git push origin feature-branch
) - Create a Pull Request
This project is licensed under the MIT License.
For any inquiries or support, please contact [Your Name] at [aemmanuel.codes@gmail.com].