From e36b74893f976947810054edacda1bb7a0682005 Mon Sep 17 00:00:00 2001 From: BillSchumacher <34168009+BillSchumacher@users.noreply.github.com> Date: Sat, 15 Apr 2023 22:33:56 -0500 Subject: [PATCH] Add name and role to prompt generator object for maximum customization. --- autogpt/config/ai_config.py | 18 +++++++++++------- autogpt/prompts/generator.py | 2 ++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/autogpt/config/ai_config.py b/autogpt/config/ai_config.py index 23be7286..c3159b99 100644 --- a/autogpt/config/ai_config.py +++ b/autogpt/config/ai_config.py @@ -90,7 +90,9 @@ class AIConfig: with open(config_file, "w", encoding="utf-8") as file: yaml.dump(config, file, allow_unicode=True) - def construct_full_prompt(self, prompt_generator: Optional[PromptGenerator] = None) -> str: + def construct_full_prompt( + self, prompt_generator: Optional[PromptGenerator] = None + ) -> str: """ Returns a prompt to the user with the class information in an organized fashion. @@ -111,18 +113,20 @@ class AIConfig: from autogpt.prompts.prompt import build_default_prompt_generator from autogpt.config import Config + cfg = Config() - # Construct full prompt - full_prompt = ( - f"You are {self.ai_name}, {self.ai_role}\n{prompt_start}\n\nGOALS:\n\n" - ) - for i, goal in enumerate(self.ai_goals): - full_prompt += f"{i+1}. {goal}\n" if prompt_generator is None: prompt_generator = build_default_prompt_generator() prompt_generator.goals = self.ai_goals + prompt_generator.name = self.ai_name + prompt_generator.role = self.ai_role for plugin in cfg.plugins: prompt_generator = plugin.post_prompt(prompt_generator) + + # Construct full prompt + full_prompt = f"You are {prompt_generator.name}, {prompt_generator.role}\n{prompt_start}\n\nGOALS:\n\n" + for i, goal in enumerate(self.ai_goals): + full_prompt += f"{i+1}. {goal}\n" self.prompt_generator = prompt_generator full_prompt += f"\n\n{prompt_generator.generate_prompt_string()}" return full_prompt diff --git a/autogpt/prompts/generator.py b/autogpt/prompts/generator.py index a54cf2cf..f8a37b85 100644 --- a/autogpt/prompts/generator.py +++ b/autogpt/prompts/generator.py @@ -19,6 +19,8 @@ class PromptGenerator: self.resources = [] self.performance_evaluation = [] self.goals = [] + self.name = "Bob" + self.role = "AI" self.response_format = { "thoughts": { "text": "thought",