From c69122db013af4a0ef00faa132351603b5bef5e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Grie=C3=9Fhaber?= <griesshaber@hdm-stuttgart.de> Date: Wed, 13 Mar 2024 20:08:30 +0100 Subject: [PATCH] make experiment name generation compatible with llama model that can't follow simple instructions :^) --- utils.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/utils.py b/utils.py index cbbd701..a88d47f 100644 --- a/utils.py +++ b/utils.py @@ -1,6 +1,7 @@ import inspect import json import logging +import re from dataclasses import dataclass, field from functools import wraps from pathlib import Path @@ -15,12 +16,19 @@ current_directory = Path(__file__).resolve().parent logger = logging.getLogger("test-classifier") logger.setLevel(level=logging.DEBUG) -run_name_prompt = """Create a random experiemnt name consisting of only a first and last name. The name should sound german or dutch. The parts should be separated by underscores and contain only lowercase. </prompt>. - <prompt>""" +run_name_prompt = """ +Create a random name that sounds german or dutch +The parts should be separated by underscores and contain only lowercase. +Only return the name without any text before or after.""".strip() def initialize_run_directory(model: OpenAI | Llama2): - run_name = model(run_name_prompt) + response = model(run_name_prompt, chat=True) + run_name_match = re.search(r"^\w+$", response, re.MULTILINE) + if run_name_match is None: + run_name = uuid4().hex + else: + run_name = run_name_match.group(0) run_directory = current_directory / f"runs/run-{run_name}" run_directory.mkdir(parents=True, exist_ok=False) file_handler = logging.FileHandler(run_directory / "output.log") -- GitLab