nemo_evaluator.adapters.adapter_config
#
Submodule responsible for the configuration related specifically to adapters.
For the visibility reasons, we don’t expose adapter configuration via CLI. All the adaptor config comes from the framework configuration yaml under
target:
api_endpoint:
adapter_config:
discovery:
modules: ["mod.a.b.c", ...]
dirs: ["/some/path"]
interceptors: []
post_eval_hooks: []
endpoint_type: "chat" # default: "chat"
caching_dir: "/some/dir" # default: null
generate_html_report: true # default: true
log_failed_requests: false # default: false
tracking_requests_stats: true # default: true
html_report_size: 5 # default: 5
This module merely takes such a dict and translates it into a typed dataclass.
Module Contents#
Classes#
Adapter configuration with registry-based interceptor support |
|
Configuration for discovering 3rd party modules and directories |
|
Configuration for a single interceptor |
|
Configuration for a single post-evaluation hook |
API#
- class nemo_evaluator.adapters.adapter_config.AdapterConfig(/, **data: Any)[source]#
Bases:
pydantic.BaseModel
Adapter configuration with registry-based interceptor support
Initialization
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError
][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.self
is explicitly positional-only to allowself
as a field name.- caching_dir: str | None#
‘Field(…)’
- discovery: nemo_evaluator.adapters.adapter_config.DiscoveryConfig#
‘Field(…)’
- endpoint_type: str#
‘Field(…)’
- classmethod from_legacy_config(
- legacy_config: dict[str, Any],
- run_config: dict[str, Any] | None = None,
Convert legacy configuration to new interceptor-based format.
Args: legacy_config: Legacy configuration dictionary run_config: Full run configuration dictionary (optional, used to extract output_dir)
Returns: AdapterConfig instance with interceptors based on legacy config
- generate_html_report: bool#
‘Field(…)’
- get_interceptor_configs() dict[str, dict[str, Any]] [source]#
Get interceptor configurations as a dictionary
- classmethod get_legacy_defaults() dict[str, Any] [source]#
Get default values for legacy configuration parameters.
- get_post_eval_hook_configs() dict[str, dict[str, Any]] [source]#
Get post-evaluation hook configurations as a dictionary
- classmethod get_validated_config(
- run_config: dict[str, Any],
Extract and validate adapter configuration from run_config.
Args: run_config: The run configuration dictionary
Returns: AdapterConfig instance if adapter_config is present in run_config, None otherwise
Raises: ValueError: If adapter_config is present but invalid
- html_report_size: int | None#
‘Field(…)’
- interceptors: list[nemo_evaluator.adapters.adapter_config.InterceptorConfig]#
‘Field(…)’
- log_failed_requests: bool#
‘Field(…)’
- post_eval_hooks: list[nemo_evaluator.adapters.adapter_config.PostEvalHookConfig]#
‘Field(…)’
- tracking_requests_stats: bool#
‘Field(…)’
- class nemo_evaluator.adapters.adapter_config.DiscoveryConfig(/, **data: Any)[source]#
Bases:
pydantic.BaseModel
Configuration for discovering 3rd party modules and directories
Initialization
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError
][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.self
is explicitly positional-only to allowself
as a field name.- dirs: list[str]#
‘Field(…)’
- modules: list[str]#
‘Field(…)’
- class nemo_evaluator.adapters.adapter_config.InterceptorConfig(/, **data: Any)[source]#
Bases:
pydantic.BaseModel
Configuration for a single interceptor
Initialization
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError
][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.self
is explicitly positional-only to allowself
as a field name.- config: dict[str, Any]#
‘Field(…)’
- enabled: bool#
‘Field(…)’
- name: str#
‘Field(…)’
- class nemo_evaluator.adapters.adapter_config.PostEvalHookConfig(/, **data: Any)[source]#
Bases:
pydantic.BaseModel
Configuration for a single post-evaluation hook
Initialization
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError
][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.self
is explicitly positional-only to allowself
as a field name.- config: dict[str, Any]#
‘Field(…)’
- enabled: bool#
‘Field(…)’
- name: str#
‘Field(…)’