-
Notifications
You must be signed in to change notification settings - Fork 3
Athena
: Refactor LLM Configuration to YAML-Based System
#92
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: main
Are you sure you want to change the base?
Conversation
…apping and uniqueness resolution
…tum/Athena into feature/modeling/reference
…tum/Athena into feature/modeling/reference
…n feedback model conversion
…tionships; fix foreign key references and ensure proper inheritance structure.
…remove debug prints, update caching logic, and change serialization method for structured grading instructions
…d usage guidelines
Repositories: Athena Repositories without this branch: Pyris Atlas
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.
the following things are ok ✅
- code lgtm,
- tested locally with Artemis, request AI feedback worked with programming/modeling/text exercises,
- playground with text
followings are failing ❌
- programming and modeling on playground:


p.s., this would still intensive testing from as it touches almost the whole Athena :)
|
…raise an error if none are available
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
Motivation and Context
This PR rewrites the llm_core module configuration system to address current limitations. The core motivation behind these changes is threefold:
x-
headers in API requests, as used in the Athena playground.Description
To achieve the outlined goals we introduced two YAML files to manage model configurations and capabilities:
llm_capabilities.yml
(llm_core): This file defines the core capabilities of different LLM models. It specifies default settings (liketemperature
,top_p
) and flags for supported features (likesupports_function_calling
,supports_structured_output
). Importantly, it also allows for LLM model-specific overrides to these defaults. This file resides at the top level of thellm_core
directory and is therefore the same fore ach module - (e.g.,module_modeling_llm
,module_programming_llm
).llm_config.yml
(module-specific): Each module (e.g.,module_modeling_llm
,module_programming_llm
) now has its ownllm_config.yml
located at the root level of the module. This file specifies the concrete models to be used for different tasks within that module. For example, the modeling module might specify a powerful model likeopenai_o1
for generating grading instructions and a faster, more economical model likeopenai_4o
for generating feedback. Switching from environment variables to module-level YAML files for LLM configuration brings these settings under version control, ensuring consistent deployments and eliminating the risk of environment-specific discrepancies.A lot of other aspects of the llm_module were changed to support this new YAML-based configuration approach. These changes are outlined in more detail in the README.
Steps for Testing
Verify Model Configuration:
llm_config.yml
andllm_capabilities.yml
files are correctly parsed.module_modeling_llm
) can successfully load and use their specified model configurations.Test Feedback Generation:
module_modeling_llm
,module_programming_llm
).Testserver States
Note
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.
Screenshots
Summary by CodeRabbit
New Features
Improvements
Bug Fixes
Documentation
Style
Refactor
Chores