Skip to content

decoder

dandy.processor.decoder.decoder

Decoder dataclass

Bases: BaseProcessor, LlmServiceMixin

mapping_keys_description = None class-attribute instance-attribute

mapping = None class-attribute instance-attribute

services = DecoderService() class-attribute

__init_subclass__

Source code in dandy/processor/decoder/decoder.py
def __init_subclass__(cls):
    super().__init_subclass__()

    if cls.mapping_keys_description is None:
        message = f'{cls.__name__} `mapping_keys_description` is not set.'
        raise DecoderCriticalException(message)

    if cls.mapping is None:
        message = f'{cls.__name__} `mapping` is not set.'
        raise DecoderCriticalException(message)

__post_init__

Source code in dandy/processor/decoder/decoder.py
def __post_init__(self):
    if self.mapping_keys_description is None:
        self.mapping_keys_description = self.__class__.mapping_keys_description

    if self.mapping is None:
        self.mapping = self.__class__.mapping

    for key in self.mapping:
        if not isinstance(key, str):
            message = f'Decoderping keys must be strings, found {key} ({type(key)}).'
            raise DecoderCriticalException(message)

__getitem__

Source code in dandy/processor/decoder/decoder.py
def __getitem__(self, item: str) -> Any:
    return self.mapping[item]

as_enum

Source code in dandy/processor/decoder/decoder.py
def as_enum(self) -> Enum:
    return Enum(
        f'{self.__class__.__name__}Enum',
        {
            value[0]: key
            for key, value in self._keyed_mapping.items()
        }
    )

process

Source code in dandy/processor/decoder/decoder.py
def process(
        self,
        prompt: PromptOrStr,
        max_return_values: int | None = None,
) -> DecoderValuesIntel:
    return self._process_decoder_to_intel(
        prompt,
        max_return_values
    )

process_to_future

Source code in dandy/processor/decoder/decoder.py
def process_to_future(self, *args, **kwargs) -> AsyncFuture[DecoderValuesIntel]:
    return AsyncFuture[DecoderValuesIntel](self.process, *args, **kwargs)