Skip to content

Output transformer chain

Defines a wrapper to chain a list of output transformers.

OutputTransformerChain(transformers, event_emitter=None)

A wrapper to chain a list of output transformers.

The OutputTransformerChain class defines the interface for transforming the output of language models using a chain of output transformers.

Attributes:

Name Type Description
transformers list[BaseOutputTransformer]

The list of output transformers to use.

event_emitter EventEmitter | None

The event emitter to use for streaming events.

Initializes a new instance of the OutputTransformerChain class.

Parameters:

Name Type Description Default
transformers list[BaseOutputTransformer]

The list of output transformers to use.

required
event_emitter EventEmitter | None

The event emitter to use for streaming events. Defaults to None.

None

emit(event) async

Transforms a stream event of a language model and emits it using the event emitter.

This method transforms a stream event of a language model using the chain of output transformers and emits it using the event emitter.

Parameters:

Name Type Description Default
event Event

The stream event to transform and emit.

required

Raises:

Type Description
ValueError

If the event emitter is not set.

from_configs(configs, event_emitter=None) classmethod

Create an output transformer chain from a list of output transformer configs.

Parameters:

Name Type Description Default
configs list[OutputTransformerConfig]

The list of output transformer configs to use.

required
event_emitter EventEmitter | None

The event emitter to use for streaming events. Defaults to None.

None

Returns:

Name Type Description
OutputTransformerChain OutputTransformerChain

The output transformer chain.

transform(output)

Transforms the output of a language model.

This method transforms the output using the chain of output transformers.

Parameters:

Name Type Description Default
output LMOutput

The output to transform.

required

Returns:

Name Type Description
LMOutput LMOutput

The transformed output of a language model.