-
Notifications
You must be signed in to change notification settings - Fork 256
Epic 3.8: Implementation of Essay grading assistant #162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: STAGING
Are you sure you want to change the base?
Conversation
…ict inside message.payload.text
…f essay content over writing techniques during grading
… grading assistant
…t exists?' when working with langchain-chroma
…y for essay grading assistant
… of different essays during batch processing for essay grading assistant
… Grading Assistant
…arvel-ai-backend into essay-grading-assistant
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixing Typos in Line 12: There’s a small typo in the function name on line 12. It’s like misspelling a word in a sentence—fixing it will make sure the program understands what we want it to do.
Clarifying Error Messages in Line 27: On line 27, the program only says, "An error occurred." We should change it to explain what the actual problem is, so it’s easier to find and fix mistakes.
Simplifying the Process in Line 43: Line 43 has a big chunk of code doing too much at once. Breaking it into smaller steps will make it more organized and easier to understand.
Adding Tests for Line 58: On line 58, the program handles an important task, but we don’t test to make sure it works correctly. Adding a quick test will help catch any issues before they happen.
Speeding Up the Code in Line 72: Line 72 processes a lot of data all at once, which slows things down. By breaking it into smaller groups, we can make the program faster and more efficient.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi! Thanks for the review. That said, I am a bit confused regarding the lines and the issues. I am looking at app/assistants/classroom_support/essay_grading_assistant/assistant.py.
Fixing Typos in Line 12: There’s a small typo in the function name on line 12. It’s like misspelling a word in a sentence—fixing it will make sure the program understands what we want it to do.
Line 12 on my end is from langchain_core.prompts import PromptTemplate
and I believe it does not contain any function.
Clarifying Error Messages in Line 27: On line 27, the program only says, "An error occurred." We should change it to explain what the actual problem is, so it’s easier to find and fix mistakes.
Line 27 on my end is import os
and does not contain any error messages/logging.
I assume this might be mismatch because of different in format/IDE the file is opened in, but I could be mistaken/not seeing something. I would appreciate any clarifications.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great observation, you are doing great, let me run your code locally and i will get back to you.
Great Job, ran well ! Thank you for your contribution! |
Description
This Pull Request is for the Essay Grading Assistant expedition. This expedition aims to develop a feature for Marvel AI application: an AI Assistant that help educators efficiently grade student essays using pre-defined or customized rubrics with capability for batch processing of essays.
Related Issue
Epic 3.8: Creating the Essay Grading Assistant
marvel-ai-backend: Issue 145
Type of Change
Please select the type(s) of change that apply and delete those that do not.
Proposed Solution
Execution flow:
if user query contains arguments for essay grading pipeline:
feed arguments to essay grading assistant pipeline and return the result.
else:
feed user query and chat context to the LLM model and return the result
Essay Grading Pipeline:
rubric_generator
, which creates a detailed grading rubric.EssayGradingGeneratorPipeline
, which evaluates the essays and assigns grades for each criterion, accompanied by clear reasoning for each grade.writing_feedback_generator
, which generates comprehensive feedback to expand on the reasoning behind the evaluation and suggest areas for improvement.How to Test
pytest -s
inside essay_grading_assistant/tests to run unit testsessay_grading_assistant/tests/request_jsons.md
Unit Tests
test_executor_grading_rubric_text_writing_to_review_list_valid
: test batch grading generation using a list of 3 documents (pdf, gdoc, xml)test_executor_grading_rubric_text_writing_to_review_list_essay_grading_args_invalid
: test for correct error when provided with faulty arguments for essay grading generator pipeline.test_executor_summarize_grading_output_valid
: test assistant's ability to process non-essay-grading ordinary user query.test_executor_summarize_grading_output_invalid
: test for correct error when provided with faulty messages.Documentation Updates
Indicate whether documentation needs to be updated due to this PR.
Updated app/assistants/README.md to include documentation for Essay Grading Assistant
Checklist