diff --git a/scripts/ai_config.py b/scripts/ai_config.py index 6ac243c295..4656f23a07 100644 --- a/scripts/ai_config.py +++ b/scripts/ai_config.py @@ -5,16 +5,17 @@ import data class AIConfig: """ A class object that contains the configuration information for the AI - + Attributes: ai_name (str): The name of the AI. ai_role (str): The description of the AI's role. ai_goals (list): The list of objectives the AI is supposed to complete. """ - def __init__(self, ai_name:str="", ai_role:str="", ai_goals:list=[]) -> None: + + def __init__(self, ai_name: str="", ai_role: str="", ai_goals: list=[]) -> None: """ Initialize a class instance - + Parameters: ai_name (str): The name of the AI. ai_role (str): The description of the AI's role. @@ -30,15 +31,15 @@ class AIConfig: SAVE_FILE = "../ai_settings.yaml" @classmethod - def load(cls:object, config_file:str=SAVE_FILE) -> object: + def load(cls: object, config_file: str=SAVE_FILE) -> object: """ Returns class object with parameters (ai_name, ai_role, ai_goals) loaded from yaml file if yaml file exists, else returns class with no parameters. - + Parameters: cls (class object): An AIConfig Class object. config_file (int): The path to the config yaml file. DEFAULT: "../ai_settings.yaml" - + Returns: cls (object): A instance of given cls object """ @@ -54,13 +55,13 @@ class AIConfig: return cls(ai_name, ai_role, ai_goals) - def save(self, config_file:str=SAVE_FILE) -> None: + def save(self, config_file: str=SAVE_FILE) -> None: """ Saves the class parameters to the specified file yaml file path as a yaml file. - + Parameters: config_file(str): The path to the config yaml file. DEFAULT: "../ai_settings.yaml" - + Returns: None """ @@ -71,10 +72,10 @@ class AIConfig: def construct_full_prompt(self) -> str: """ Returns a prompt to the user with the class information in an organized fashion. - + Parameters: None - + Returns: full_prompt (str): A string containing the intitial prompt for the user including the ai_name, ai_role and ai_goals. """ @@ -88,6 +89,7 @@ class AIConfig: full_prompt += f"\n\n{data.load_prompt()}" return full_prompt + if __name__ == "__main__": import doctest doctest.testmod() \ No newline at end of file diff --git a/scripts/ai_functions.py b/scripts/ai_functions.py index e54f096698..eee26e1529 100644 --- a/scripts/ai_functions.py +++ b/scripts/ai_functions.py @@ -9,7 +9,7 @@ cfg = Config() def evaluate_code(code: str) -> List[str]: """ A function that takes in a string and returns a response from create chat completion api call. - + Parameters: code (str): Code to be evaluated. Returns: @@ -20,14 +20,14 @@ def evaluate_code(code: str) -> List[str]: description_string = """Analyzes the given code and returns a list of suggestions for improvements.""" result_string = call_ai_function(function_string, args, description_string) - + return result_string def improve_code(suggestions: List[str], code: str) -> str: """ A function that takes in code and suggestions and returns a response from create chat completion api call. - + Parameters: suggestions (List): A list of suggestions around what needs to be improved. code (str): Code to be improved. @@ -47,7 +47,7 @@ def improve_code(suggestions: List[str], code: str) -> str: def write_tests(code: str, focus: List[str]) -> str: """ A function that takes in code and focus topics and returns a response from create chat completion api call. - + Parameters: focus (List): A list of suggestions around what needs to be improved. code (str): Code for test cases to be generated against. @@ -62,5 +62,3 @@ def write_tests(code: str, focus: List[str]) -> str: result_string = call_ai_function(function_string, args, description_string) return result_string - -