| | """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 = "" |
| | |
| | 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, |
| | ) |
| |
|
| | |
| | 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 |
| | ) |
| |
|
| | |
| | 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." |
| |
|
| | |
| | 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) |
| |
|