In the world of online learning and self-improvement, having effective tools to evaluate one’s progress is crucial. Whether you’re studying for exams or simply exploring new topics, instant feedback can make all the difference. That’s why the In-Depth Question Answering Evaluation App, built using Streamlit and powered by Gemini 1.5 Pro, a large language model, aims to revolutionize how users evaluate their knowledge. Let’s explore what this app has to offer and why it might just become an essential tool in your learning journey.
Special thanks to Dr. Fady AlNajjar — Head of AI at UAE University for the idea.
What is the In-Depth Question Answering Evaluation App?
The In-Depth Question Answering Evaluation App is a Generative AI-based tool designed to help users evaluate their answers to a series of pre-defined questions. The application provides real-time, meaningful feedback, enabling users to improve their understanding and accuracy in answering questions. The application makes use of generative AI capabilities, powered by Gemini 1.5 Pro, to provide real-time, meaningful feedback, enabling users to improve their understanding and accuracy in answering questions.
The app has a simple yet powerful goal: to support users in assessing the quality of their answers and learning effectively. With easy-to-use features like CSV file uploads for customized question sets, real-time feedback, and a user-friendly rating system, the app ensures that learning remains an interactive and personalized experience.
Getting Started with the QA Evaluation App
Installation
To run this application locally, you need to have Anaconda and Python installed on your machine. Follow these steps:
1. Clone the repository or download the code.
git clone https://github.com/di37/smart-question-answer-evaluator.git
2. Create a conda environment, activate it and install the required dependencies:
conda create -n ques_ans_eval python=3.12
conda activate ques_ans_eval
Running the App
To start the app, navigate to the directory containing the code and run:
streamlit run app.py
Open your web browser and go to http://localhost:8501 to access the app.
Key Features Explained
1. Ratings Information for Better Clarity: The app features a sidebar that displays a rating scale from 1 (Poor) to 5 (Excellent). This intuitive system helps users clearly understand the evaluation criteria, empowering them to adjust their responses to achieve better ratings.
It provides transparency to the feedback mechanism, allowing users to see how they can improve.
2. CSV File Upload for Custom Question Sets: Want to personalize your learning experience? The app allows users to upload their own CSV file containing a series of questions and answers.
The CSV must include at least two columns: “question” and “answer.” This feature makes it possible to tailor the experience to specific subjects or topics of interest, making it ideal for specialized learning scenarios.
3. User-Friendly Text Input and Real-Time Feedback: Users can easily input their answers using the text area provided in the app. The real magic happens here — as the user types their response, the app provides real-time feedback as it is powered by Gemini 1.5 Pro.
This feedback highlights:
- Explanation: How well did the user attempt the question
- Areas of Improvement: Identifies areas for improvement
- Feedback: Provides actionable suggestions to enhance the quality of their responses.
It’s like having a tutor sitting right next to you, guiding you every step of the way.
4. Randomized Questions for a Fresh Experience Every Time: The app isn’t just about answering the same questions over and over again. Each session begins with a randomly selected question from the CSV file that has been uploaded, ensuring that the learning experience remains dynamic and engaging. Randomization prevents rote memorization and encourages users to think critically each time they interact with the app.
What Sets the In-Depth Question Answering Evaluation App Apart
The In-Depth Question Answering Evaluation App stands out primarily due to its integration of Google’s Gemini 1.5 Pro, state of the art Large Language model. This enables the app to provide nuanced understanding of user responses, offering real-time, intelligent feedback as users type their answers. Unlike traditional question-answering systems, this app can comprehend complex language nuances, context, and intent, allowing for more accurate evaluation of answers. The combination of randomized question selection and immediate feedback creates an interactive learning experience that prevents memorization and encourages genuine understanding. Additionally, the app’s customizable content feature, which allows users to upload their own question-answer pairs via CSV, makes it adaptable to various subjects and difficulty levels.
How It Can Be Used
- Students preparing for exams can use the app to improve their understanding of a topic by practicing and refining their answers.
- Professionals wanting to enhance their knowledge in specific areas can upload relevant questions and self-evaluate as they learn.
- Job Interviews: The app can also be a useful tool for job interview preparation. Candidates can practice answering common interview questions, receive real-time feedback on the quality of their responses, and improve their ability to articulate thoughts clearly and concisely. This makes it an invaluable resource for those looking to enhance their interview skills.
- Educators can use the app as a tool to help students learn more interactively by providing guided question sets and allowing learners to receive immediate, personalized feedback.
Suggestions for Future Work
There are several exciting directions for future work to improve the In-Depth Question Answering Evaluation App:
1. Gamification Features: Add gamification elements, such as leaderboards, progress tracking, badges, and rewards, to make the learning process more engaging and motivate users to practice more frequently.
2. Integration with Learning Platforms: Integrate the app with popular e-learning platforms like Moodle, Canvas, or Google Classroom, making it easier for educators to incorporate the app into their existing teaching workflows.
3. Mobile-Friendly Interface: Develop a mobile-friendly version or standalone mobile app to allow users to practice and receive feedback on the go.
4. Voice-Based Input: Introduce support for voice-based input, enabling users to answer questions verbally and receive real-time feedback, which could be especially beneficial for language learning.