Refactor LLM Configuration to YAML-Based System#386
Open
LeonWehrhahn wants to merge 29 commits into
Open
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
|
|
This file contains hidden or 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
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_coredirectory 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.ymllocated 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_o1for generating grading instructions and a faster, more economical model likeopenai_4ofor 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.ymlandllm_capabilities.ymlfiles 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