graph LR
Configuration_Module_Subsystem_["Configuration Module (Subsystem)"]
Config_Data_Model_["Config (Data Model)"]
get_config_Configuration_API_Facade_["get_config (Configuration API/Facade)"]
load_yaml_YAML_Loader_Parser_["load_yaml (YAML Loader/Parser)"]
scanners_yml_External_Configuration_Source_["scanners.yml (External Configuration Source)"]
Configuration_Module_Subsystem_ -- "contains" --> Config_Data_Model_
Configuration_Module_Subsystem_ -- "contains" --> get_config_Configuration_API_Facade_
Configuration_Module_Subsystem_ -- "contains" --> load_yaml_YAML_Loader_Parser_
get_config_Configuration_API_Facade_ -- "calls" --> load_yaml_YAML_Loader_Parser_
get_config_Configuration_API_Facade_ -- "creates" --> Config_Data_Model_
load_yaml_YAML_Loader_Parser_ -- "reads" --> scanners_yml_External_Configuration_Source_
The Configuration Module serves as the central hub for managing and providing the application's operational settings.
The overarching logical component responsible for managing and providing the application's operational configuration. It acts as the central point for accessing system settings, including active scanners, their order, and specific thresholds. This subsystem is primarily implemented within the llm_guard_api.app.config package.
Related Classes/Methods: None
Represents the structured, in-memory configuration data. This component encapsulates all loaded settings, such as the list of active scanners, their processing order, and any specific parameters or thresholds for each scanner. It acts as an internal, strongly-typed data model for the configuration.
Related Classes/Methods:
Serves as the primary public interface for retrieving the entire system configuration. It orchestrates the loading process, ensuring the configuration is loaded, parsed, and presented in a usable Config object format. This component hides the underlying loading complexity from consumers.
Related Classes/Methods:
A utility component specifically responsible for parsing the scanners.yml configuration file. It reads the YAML content and converts it into a Python-readable data structure, which is then used by get_config to construct the Config object. This component isolates the YAML parsing logic.
Related Classes/Methods:
The external, static YAML configuration file that declaratively defines the various input and output scanners. It specifies their types, parameters, and activation status, serving as the primary source of truth for scanner definitions. As an external file, it does not have a direct source code reference in the traditional sense.
Related Classes/Methods: None