Defines a middleware that can intercept and modify model operations.
nameA descriptive name for this middleware.
transform_params()Transform parameters before calling the model.
Middleware$transform_params(params, type, model)paramsThe original call parameters.
typeEither "generate" or "stream".
modelThe model being called.
The transformed parameters.
wrap_generate()Wrap the generate operation.
Middleware$wrap_generate(do_generate, params, model)do_generateA function that calls the model's do_generate.
paramsThe (potentially transformed) parameters.
modelThe model being called.
The result of the generation.
wrap_stream()Wrap the stream operation.
Middleware$wrap_stream(do_stream, params, model, callback)do_streamA function that calls the model's do_stream.
paramsThe (potentially transformed) parameters.
modelThe model being called.
callbackThe streaming callback function.
clone()The objects of this class are cloneable with this method.
Middleware$clone(deep = FALSE)deepWhether to make a deep clone.