Skip to content
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

Development: Provide documentation on how to use automatic assessment suggestions for modeling exercises #8704

Merged
merged 11 commits into from
Jun 4, 2024

Conversation

matthiaslehnertum
Copy link
Contributor

@matthiaslehnertum matthiaslehnertum commented May 31, 2024

Checklist

General

Description

This PR adds documentation on how to use the automated feedback suggestions provided by Athena for modeling exercises and how the generation works on a technical level. In addition to that, a new documentation page is added that describes the process of how feedback suggestions are generated for modeling exercises and how exercises can be optimized for automated evaluation.

Testserver States

Note

These badges show the state of the test servers.
Green = Currently available, Red = Currently locked






Screenshots

Documentation on how to use automated feedback suggestions for modeling exercises

127 0 0 1_8000_user_exercises_modeling html (2)

Documentation how automated feedback suggestions for modeling exercises are generated

127 0 0 1_8000_user_exercises_modeling-exercise-automatic-assessment html (1)

@github-actions github-actions bot added documentation config-change Pull requests that change the config in a way that they require a deployment via Ansible. labels May 31, 2024
@matthiaslehnertum matthiaslehnertum marked this pull request as ready for review May 31, 2024 10:04
@matthiaslehnertum matthiaslehnertum requested a review from a team as a code owner May 31, 2024 10:04
Copy link

coderabbitai bot commented May 31, 2024

Walkthrough

The recent updates introduce the Athena service integration into Artemis for automated feedback in modeling exercises. The documentation now includes details on setup, usage, and UI interactions for assessment suggestions. No changes were made to the declarations of exported or public entities.

Changes

File Path Change Summary
docs/admin/setup/athena.rst Added a new reference athena_service under the section "Athena Service."
docs/user/exercises/modeling-exercise-automatic-assessment.rst New file detailing the automated feedback suggestion generation process for modeling exercises using Athena.
docs/user/exercises/modeling.rst Added details on the new feature where Artemis suggests assessments for diagram elements using Athena, including setup, configuration, and UI interactions.

Sequence Diagram(s) (Beta)

sequenceDiagram
    participant User
    participant Artemis
    participant Athena

    User->>Artemis: Submit modeling exercise
    Artemis->>Athena: Request assessment suggestions
    Athena-->>Artemis: Return assessment suggestions
    Artemis->>User: Display suggestions in grading interface
    User->>Artemis: Accept or discard suggestions
    Artemis->>Artemis: Update exercise assessment
Loading

Recent review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between fd92982 and dbc3763.

Files selected for processing (2)
  • docs/user/exercises/modeling-exercise-automatic-assessment.rst (1 hunks)
  • docs/user/exercises/modeling.rst (2 hunks)
Additional comments not posted (4)
docs/user/exercises/modeling-exercise-automatic-assessment.rst (3)

10-12: The introduction clearly outlines the scope of the document and the specific module in use. This is helpful for setting the context for the reader.


42-47: The link to external documentation on prompt engineering is useful. Ensure that the grading instructions are consistently clear and detailed as they significantly influence the quality of the generated feedback.


14-17: Ensure that the serialization process, especially the shortening of IDs, does not lead to collisions or loss of crucial information which might affect the assessment accuracy.

docs/user/exercises/modeling.rst (1)

217-217: This section effectively explains the integration of automatic assessment suggestions. Ensure that the implementation details are kept up-to-date with any changes in the Athena service or Artemis platform.

Verification successful

The recent changes in the documentation files related to automatic assessment suggestions indicate updates and alignments in naming conventions, but no significant changes to the implementation details were found.

  • docs/user/exercises/modeling.rst:

    • Recent changes include updates to line breaks, naming alignments, and documentation structure.
  • docs/user/exercises/textual.rst:

    • No recent changes were found in the context of automatic assessment suggestions.

Based on the gathered information, the implementation details appear to be up-to-date with no significant changes in the last six months.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the current implementation details of automatic assessment suggestions.
# Test: Check for recent updates or changes in the implementation of automatic assessment suggestions.
rg --type rst "automatic assessment suggestions" docs/

Length of output: 561



Script:

#!/bin/bash
# Description: Check for recent commits related to automatic assessment suggestions in the repository.
# Test: Search for recent commits mentioning "automatic assessment suggestions" in the commit messages.
git log --grep="automatic assessment suggestions" --since="6 months ago"

Length of output: 74



Script:

#!/bin/bash
# Description: Check for recent changes in the relevant code files related to automatic assessment suggestions.
# Test: Search for recent changes in files that might contain implementation details of automatic assessment suggestions.
# Find files that might be related to automatic assessment suggestions
files=$(rg --files-with-matches "automatic assessment suggestions" src/)

# Check recent changes in these files
for file in $files; do
  echo "Recent changes in $file:"
  git log -n 5 -- $file
done

Length of output: 75



Script:

#!/bin/bash
# Description: Check for recent changes in the documentation files related to automatic assessment suggestions.
# Test: Search for recent changes in the documentation files that mention automatic assessment suggestions.
# Find documentation files that mention automatic assessment suggestions
docs_files=$(rg --files-with-matches "automatic assessment suggestions" docs/)

# Check recent changes in these files
for file in $docs_files; do
  echo "Recent changes in $file:"
  git log -n 5 -- $file
done

Length of output: 5991


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

docs/user/exercises/modeling.rst Outdated Show resolved Hide resolved
docs/user/exercises/modeling.rst Outdated Show resolved Hide resolved
nityanandaz
nityanandaz previously approved these changes May 31, 2024
Copy link
Contributor

@nityanandaz nityanandaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Didn't find any typos :)

Copy link
Contributor

@dmytropolityka dmytropolityka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

overall looks good, left some comments

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This section intends to provide insights into how automated feedback suggestions are generated for modeling exercises
using Athena. While Athena does support having various evaluation modules per exercise type, at the moment
only one module exists for the evaluation of modeling exercises (``module_modeling_llm``). The following section
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While this is true that we have only modeling_llm for modeling exercises, would the process actually differ for another module types?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question - it is kind of hard to tell as we might also build Athena modules that are using other ML approaches than LLMs in the future 🤔

instructions.

4. **Token Limit Check:** Feedback generation is aborted if the prompt is still too long after removing omittable
features. Otherwise, the prompt is executed on the connected language model.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will the request still be considered successful? What is the error message the user will see on the UI?

Copy link
Contributor Author

@matthiaslehnertum matthiaslehnertum Jun 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The request is still considered successful as there is still suggestions that can be made even with less information present. At the moment Athena does not indicate if information has been omitted due to exceeded token counts to at the moment we do also not indicate that in the UI. 🤔


Evaluate the following 10 criteria:

1. Give 1 point if all elements described in the problem statement are present in the submission, 0 otherwise.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't the precise number of points depend on the exercise?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does still depend on the exercise - but matching the number of points assigned for the various grading instructions with the number of points achievable in the exercise helps to decrease the variance in the number of points assigned :)

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Copy link
Contributor

@az108 az108 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no typos found and everything is understandable in my opinion. LGTM 👍

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be good to have a background to this model. If dark mode users are reading the documentation, the model would be very hard to read.

Copy link
Contributor

@sarpsahinalp sarpsahinalp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Member

@BBesrour BBesrour left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!
Some nitpicks that can be ignored.

2. Give 1 point if the outgoing flows from an exclusive gateway are also labeled if there is more than one outgoing flow from the exclusive gateway, 0 otherwise.
3. Give 1 point if a start-event is present in the student's submission, 0 otherwise.
4. Give 1 point if an end-event is present in the student's submission, 0 otherwise.
5. Give 0 points if the activities in the diagram are not in the correct order according to the problem statement, 1 otherwise.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
5. Give 0 points if the activities in the diagram are not in the correct order according to the problem statement, 1 otherwise.
5. Give 1 point if the activities in the diagram are in the correct order according to the problem statement, 0 otherwise.


One of the strategies for optimizing the prompt results of an LLM is instructing the model as clearly as possible about the expected output of the task at hand.
The following listing shows grading instructions for an exemplary BPMN process modeling exercise optimized for automatic assessment.
The instructions explicitly list all aspects Athena should assess of and how credits should be assigned accordingly ensuring consistent suggestions across all submissions.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The instructions explicitly list all aspects Athena should assess of and how credits should be assigned accordingly ensuring consistent suggestions across all submissions.
The instructions explicitly list all aspects Athena should assess and how credits should be assigned accordingly, ensuring consistent suggestions across all submissions.

@krusche krusche changed the title Development: Provide documentation on how to use automatic assessment suggestions for modeling exercises Development: Provide documentation on how to use automatic assessment suggestions for modeling exercises Jun 4, 2024
@krusche krusche added this to the 7.1.2 milestone Jun 4, 2024
@krusche krusche merged commit 48a3fac into develop Jun 4, 2024
7 checks passed
@krusche krusche deleted the feature/athena-modeling-module-documentation branch June 4, 2024 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
config-change Pull requests that change the config in a way that they require a deployment via Ansible. documentation ready for review
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

8 participants