marvelai-org / marvel-ai-backend

This is the Marvel Teaching Assistant ai repo.
MIT License
17 stars 85 forks source link

Epic 7.3.1 : Worksheet Generator - Squad Robo Rebels #88

Open ApoorvThite opened 3 months ago

ApoorvThite commented 3 months ago

Epic 7.3.1 Worksheet Generator

Squad – Robo Rebels

Project Manager : Shrishti Singh Team Members : Asmi Panigrahi, Shanika Perera, Apoorv Thite, Shrihari Prasad Gopalakrishnan, Zheng Wu, Bhanu Prakash, Rohith Jatla

Description and Formatting :

image

Here is the configuration of our input in the features/worksheet/metadata.json:

Screenshot 2024-08-16 at 12 05 36 AM

So our request body looks like:

image

User Information:

Request Type:

Tool Data:

Screenshot 2024-08-13 at 2 54 37 PM

Key Features :

Worksheet Generation:

  1. Question Building:

Specific Question Builders:

  1. Custom JSON Parsing and Validation:
  1. Logging:
  1. Error Handling:
  1. File Handling:
  1. Extensibility:

Code Structure:

For Testing purposes, we limited the num_questions to 10. We might increase the allowed limit of questions to make the system more optimised to handle larger number of questions as per requirement.

For generating questions, in our tools.py file, we created the following classes

The MultiChoiceQuestion class validates and structures multiple-choice question data, ensuring it includes the question text, a list of choices, and the correct answer key. It also provides an example schema for clarity and consistency in data formatting.

image

The FillInBlankQuestion class ensures that fill-in-the-blank question data includes both the question text with a blank and the correct answer. It also includes an example schema within json_schema_extra to demonstrate the expected data format for clarity and validation purposes.

image

The OpenEndedQuestion class ensures that open-ended question data includes both the question text and the correct answer. It also provides an example schema within json_schema_extra to demonstrate the expected data format for validation and consistency.

image

Testing:

Testing our code involved ensuring that each component functioned correctly and integrated seamlessly with the others.

Different use cases for testing included varying combinations of input parameters to ensure robustness.

Innovation and Future Scope: