Spaces:
Runtime error
Runtime error
"""Set up the AI and its goals""" | |
from colorama import Fore, Style | |
from autogpt import utils | |
from autogpt.config.ai_config import AIConfig | |
from autogpt.logs import logger | |
def prompt_user() -> AIConfig: | |
"""Prompt the user for input | |
Returns: | |
AIConfig: The AIConfig object containing the user's input | |
""" | |
ai_name = "" | |
# Construct the prompt | |
logger.typewriter_log( | |
"Welcome to Auto-GPT! ", | |
Fore.GREEN, | |
"run with '--help' for more information.", | |
speak_text=True, | |
) | |
logger.typewriter_log( | |
"Create an AI-Assistant:", | |
Fore.GREEN, | |
"Enter the name of your AI and its role below. Entering nothing will load" | |
" defaults.", | |
speak_text=True, | |
) | |
# Get AI Name from User | |
logger.typewriter_log( | |
"Name your AI: ", Fore.GREEN, "For example, 'Entrepreneur-GPT'" | |
) | |
ai_name = utils.clean_input("AI Name: ") | |
if ai_name == "": | |
ai_name = "Entrepreneur-GPT" | |
logger.typewriter_log( | |
f"{ai_name} here!", Fore.LIGHTBLUE_EX, "I am at your service.", speak_text=True | |
) | |
# Get AI Role from User | |
logger.typewriter_log( | |
"Describe your AI's role: ", | |
Fore.GREEN, | |
"For example, 'an AI designed to autonomously develop and run businesses with" | |
" the sole goal of increasing your net worth.'", | |
) | |
ai_role = utils.clean_input(f"{ai_name} is: ") | |
if ai_role == "": | |
ai_role = "an AI designed to autonomously develop and run businesses with the" | |
" sole goal of increasing your net worth." | |
# Enter up to 5 goals for the AI | |
logger.typewriter_log( | |
"Enter up to 5 goals for your AI: ", | |
Fore.GREEN, | |
"For example: \nIncrease net worth, Grow Twitter Account, Develop and manage" | |
" multiple businesses autonomously'", | |
) | |
print("Enter nothing to load defaults, enter nothing when finished.", flush=True) | |
ai_goals = [] | |
for i in range(5): | |
ai_goal = utils.clean_input(f"{Fore.LIGHTBLUE_EX}Goal{Style.RESET_ALL} {i+1}: ") | |
if ai_goal == "": | |
break | |
ai_goals.append(ai_goal) | |
if not ai_goals: | |
ai_goals = [ | |
"Increase net worth", | |
"Grow Twitter Account", | |
"Develop and manage multiple businesses autonomously", | |
] | |
return AIConfig(ai_name, ai_role, ai_goals) | |