Skip to content

diligence

dandy.llm.diligence.vowel_removal.diligence

VowelRemovalDiligence

Bases: BaseDiligence

Source code in dandy/llm/diligence/diligence.py
def __init__(self):
    self.is_activated = False

trigger_level = 0.0 class-attribute instance-attribute

trigger_operator = operator.le class-attribute instance-attribute

apply classmethod

Source code in dandy/llm/diligence/vowel_removal/diligence.py
@classmethod
def apply(cls, llm_connector: LlmConnector) -> None:
    for i in range(len(llm_connector.request_body.messages)):
        if isinstance(llm_connector.request_body.messages[i], list):
            for k in range(len(llm_connector.request_body.messages[i])):
                for j in range(len(llm_connector.request_body.messages[i][k].content)):
                    stripped_text = cls.remove_vowels(llm_connector.request_body.messages[i][k].content[j].text)
                    llm_connector.request_body.messages[i][k].content[j].text = stripped_text
        else:
            for j in range(len(llm_connector.request_body.messages[i].content)):
                stripped_text = cls.remove_vowels(llm_connector.request_body.messages[i].content[j].text)
                llm_connector.request_body.messages[i].content[j].text = stripped_text

    llm_connector.request_body.messages.add_message(
        role='system',
        text='Assume Vowels',
        prepend=True,
    )

remove_vowels staticmethod

Source code in dandy/llm/diligence/vowel_removal/diligence.py
@staticmethod
def remove_vowels(text: str) -> str:
    remove_str = ''.join(VOWELS)

    translation_table = str.maketrans('', '', remove_str)

    return text.lower().translate(translation_table)