def METHOD_NAME(context, model, tokenizer):
    text = "\n".join(
        list(map(lambda x: NEW_UTTERANCE.join(x), zip(cycle(["", ""]), context[-MAX_HISTORY_DEPTH:] + [""])))
    )
    bot_input_ids = tokenizer.encode(text, return_tensors="pt")
    with torch.no_grad():
        if torch.cuda.is_available():
            bot_input_ids = bot_input_ids.to("cuda")
        chat_history_ids = model.generate(bot_input_ids, pad_token_id=tokenizer.eos_token_id, **generation_params)
        if torch.cuda.is_available():
            chat_history_ids = chat_history_ids.cpu()
    outputs = [
        tokenizer.decode(x, skip_special_tokens=True)[len(text) :].lstrip().split("\n")[0] for x in chat_history_ids
    ]
    outputs = [re.sub(NICK_COMPILED, "", response) for response in outputs]
    outputs = [re.sub(URLS_COMPILED, "", response) for response in outputs]
    outputs = [re.sub(SPECIFIC_WORDS_COMPILED, "", response) for response in outputs]
    outputs = [ANYTHING_EXCEPT_OF_LETTERS_SPACE_AND_PUNCT_COMPILED.sub("", response).strip() for response in outputs]
    return outputs