ExamGPT is a powerful tool that simplifies the process of conducting oral exams. It leverages the GPT-3.5 model from OpenAI to act as an interviewer, asking questions based on a provided topic. This project combines speech recognition, text-to-speech, and PDF handling to create a seamless oral exam experience.
-
Topic-Based Questions: Input a PDF document on the desired topic, and ExamGPT will generate relevant questions for the oral exam.
-
Transcription: As the AI interviewer asks questions, the transcription of the speech will be displayed on the screen.
-
Recording Responses: Easily record your responses by clicking the microphone icon. When you're done, stop recording.
-
Text-to-Speech: ExamGPT uses the
speechSynthesis
library to convert text into speech for a natural conversational experience. -
Speech-to-Text: The project includes
react-speech-recognition
library to transcribe spoken responses.
- Set up the client and server as described in the Installation section.
- Provide a PDF document on the desired topic to the client.
- Make sure the document is not too long and contains text. Must have a .pdf extension.
- Start the oral exam, and ExamGPT will generate questions and provide transcriptions.
- Response can be recorded using the mic button provided. Speak loudly and clearly and don't take pauses.
- End the test by clicking the end button provided in the centre of the screen.
These are the steps to set up the project locally:
- Clone the repository:
git clone [repository URL]
- Navigate to the client directory:
cd client
- Install dependencies:
npm i
- Start the client:
npm start
(port 3000)
Example .env
file:
REACT_APP_SERVER_URL=Server_URL
- Navigate to the server directory:
cd server
. - Install dependencies:
npm install
- Start the server:
npm start
(port 8000)
Example .env
file:
API_KEY=Your_OpenAI_API_Key
- Frontend: React.js
- Backend: Using Express.js and Node.js
- PDF Handling: pdfjs-dist library to extract the text from pdf
- Speech-to-Text: React Speech Recognition Library
- Text-to-Speech: Using speechSynthesis
- AI Response: Generated using OpenAI GPT-3.5 model
- State Management: useContext Api
- You can check the project video here
- You can visit the site here
- Screenshots for the site are available below:
Contributions to ExamGPT are welcome! If you'd like to contribute, please follow the best open-source and contributing practices. Start by raising an issue related to any bugs or changes you would like to see!
If you have any questions or need support, feel free to contact at mayankbansal125@gmail.com