nemo_evaluator.adapters.interceptors.payload_modifier_interceptor#

Payload modifier interceptor that modifies request payloads.

Module Contents#

Classes#

PayloadParamsModifierInterceptor

Adapter for modifying request payload by removing, adding, and renaming parameters

API#

class nemo_evaluator.adapters.interceptors.payload_modifier_interceptor.PayloadParamsModifierInterceptor(params: Params)#

Bases: nemo_evaluator.adapters.types.RequestInterceptor

Adapter for modifying request payload by removing, adding, and renaming parameters

Initialization

Initialize the payload modifier interceptor.

Args: params: Configuration parameters

class Params(/, **data: Any)#

Bases: nemo_evaluator.logging.BaseLoggingParams

Configuration parameters for payload modifier 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 allow self as a field name.

params_to_add: Dict[str, Any] | None#

‘Field(…)’

params_to_remove: List[str] | None#

‘Field(…)’

params_to_rename: Dict[str, str] | None#

‘Field(…)’

intercept_request(
ar: nemo_evaluator.adapters.types.AdapterRequest,
context: nemo_evaluator.adapters.types.AdapterGlobalContext,
) nemo_evaluator.adapters.types.AdapterRequest | nemo_evaluator.adapters.types.AdapterResponse#

Function that will be called by AdapterServer on the way upstream.

This interceptor can modify the request but must return an AdapterRequest to continue the chain upstream.

Args: req: The adapter request to intercept context: Global context containing server-level configuration

Ex.: This is used for request preprocessing, logging, etc.