ENGenieAI is an interactive AI tutor designed to assist engineering students by providing Socratic questioning and document-based Q&A functionalities. It leverages advanced language models and allows seamless integration with PDF documents for context-aware assistance. Currently the socratic mode is available only for engineering topics
- Socratic Mode: Engages users with thought-provoking questions to facilitate learning.
- Document-Based Q&A: Upload PDF files and get context-specific answers.
- Theme Selection: Choose between a default and dark theme.
- Chat History Management: View and clear chat history.
- Patch Notes and Support: View patch notes and contact support via the settings.
-
Clone the repository:
git clone https://github.com/your-username/engenieai.git cd engenieai
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.env
file in the root directory and add your API keys:GOOGLE_API_KEY=your_google_api_key
-
Run the application:
streamlit run frontend.py
-
Socratic Mode:
- Toggle the Socratic Mode checkbox on the main page to enable or disable Socratic questioning.
- When enabled, the AI tutor will engage with questions to stimulate critical thinking.
-
Document-Based Q&A:
- Upload PDF files using the "Upload Files" button.
- Click "Document Embeddings" to process the documents.
- Ask questions in the text input to get context-specific answers from the documents.
- Use the "Delete Uploaded Files" button to remove documents and reset the session.
-
Settings:
- Patch Notes: View the latest updates and changes.
- Support: Contact support at
engenieai.query@gmail.com
.
-
Chat History:
- View past interactions in the sidebar under "History".
- Clear chat history using the "Clear Chat History" button.
engenieai/
├── backend.py # Backend logic for document handling and LLM interactions
├── frontend.py # Streamlit application frontend
├── rag.py # Retrieval-Augmented Generation (RAG) logic
├── requirements.txt # Python dependencies
├── .env # Environment variables
└── README.md # Project documentation
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes and commit them with descriptive messages.
- Push your changes to your fork.
- Create a pull request to the main repository.
For support or any questions, please contact us at: engenieai.query@gmail.com