def get_last_checkpoint()

in scripts/run_prompt_creation.py [0:0]


def get_last_checkpoint(folder, return_list=False) -> Tuple[List, int]:
    if not os.path.exists(folder) or not os.path.isdir(folder):
        os.makedirs(folder, exist_ok=True)
        return [], 0
    content = os.listdir(folder)
    checkpoints = [path for path in content if _RE_CHECKPOINT.search(path) is not None]
    if len(checkpoints) == 0:
        return [], 0
    last_checkpoint = os.path.join(folder, max(checkpoints, key=lambda x: int(_RE_CHECKPOINT.search(x).groups()[0])))
    # Find num steps saved state string pattern
    pattern = r"checkpoint-(\d+).json"
    match = re.search(pattern, last_checkpoint)
    cur_step = int(match.group(1))
    if return_list:
        # load corresponding generated ids
        all_generated_ids = load_checkpoint(last_checkpoint)
        return all_generated_ids, cur_step
    else:
        return [], cur_step