-
Notifications
You must be signed in to change notification settings - Fork 1
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
Refactor LLM Configuration to YAML-Based System #386
Open
LeonWehrhahn
wants to merge
26
commits into
develop
Choose a base branch
from
feature/model-choice
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…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
LeonWehrhahn
changed the title
Feature/model choice
Refactor LLM Configuration to YAML-Based System with Multiple LLM Model Support
Jan 3, 2025
LeonWehrhahn
changed the title
Refactor LLM Configuration to YAML-Based System with Multiple LLM Model Support
Refactor LLM Configuration to YAML-Based System
Jan 3, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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