|
from autogpt.promptgenerator import PromptGenerator |
|
|
|
|
|
def get_prompt() -> str: |
|
""" |
|
This function generates a prompt string that includes various constraints, |
|
commands, resources, and performance evaluations. |
|
|
|
Returns: |
|
str: The generated prompt string. |
|
""" |
|
|
|
|
|
prompt_generator = PromptGenerator() |
|
|
|
|
|
prompt_generator.add_constraint( |
|
"~4000 word limit for short term memory. Your short term memory is short, so" |
|
" immediately save important information to files." |
|
) |
|
prompt_generator.add_constraint( |
|
"If you are unsure how you previously did something or want to recall past" |
|
" events, thinking about similar events will help you remember." |
|
) |
|
prompt_generator.add_constraint("No user assistance") |
|
prompt_generator.add_constraint( |
|
'Exclusively use the commands listed in double quotes e.g. "command name"' |
|
) |
|
|
|
|
|
commands = [ |
|
("Google Search", "google", {"input": "<search>"}), |
|
( |
|
"Browse Website", |
|
"browse_website", |
|
{"url": "<url>", "question": "<what_you_want_to_find_on_website>"}, |
|
), |
|
( |
|
"Start GPT Agent", |
|
"start_agent", |
|
{"name": "<name>", "task": "<short_task_desc>", "prompt": "<prompt>"}, |
|
), |
|
( |
|
"Message GPT Agent", |
|
"message_agent", |
|
{"key": "<key>", "message": "<message>"}, |
|
), |
|
("List GPT Agents", "list_agents", {}), |
|
("Delete GPT Agent", "delete_agent", {"key": "<key>"}), |
|
("Write to file", "write_to_file", {"file": "<file>", "text": "<text>"}), |
|
("Read file", "read_file", {"file": "<file>"}), |
|
("Append to file", "append_to_file", {"file": "<file>", "text": "<text>"}), |
|
("Delete file", "delete_file", {"file": "<file>"}), |
|
("Search Files", "search_files", {"directory": "<directory>"}), |
|
("Evaluate Code", "evaluate_code", {"code": "<full_code_string>"}), |
|
( |
|
"Get Improved Code", |
|
"improve_code", |
|
{"suggestions": "<list_of_suggestions>", "code": "<full_code_string>"}, |
|
), |
|
( |
|
"Write Tests", |
|
"write_tests", |
|
{"code": "<full_code_string>", "focus": "<list_of_focus_areas>"}, |
|
), |
|
("Execute Python File", "execute_python_file", {"file": "<file>"}), |
|
( |
|
"Execute Shell Command, non-interactive commands only", |
|
"execute_shell", |
|
{"command_line": "<command_line>"}, |
|
), |
|
("Task Complete (Shutdown)", "task_complete", {"reason": "<reason>"}), |
|
("Generate Image", "generate_image", {"prompt": "<prompt>"}), |
|
("Do Nothing", "do_nothing", {}), |
|
] |
|
|
|
|
|
for command_label, command_name, args in commands: |
|
prompt_generator.add_command(command_label, command_name, args) |
|
|
|
|
|
prompt_generator.add_resource( |
|
"Internet access for searches and information gathering." |
|
) |
|
prompt_generator.add_resource("Long Term memory management.") |
|
prompt_generator.add_resource( |
|
"GPT-3.5 powered Agents for delegation of simple tasks." |
|
) |
|
prompt_generator.add_resource("File output.") |
|
|
|
|
|
prompt_generator.add_performance_evaluation( |
|
"Continuously review and analyze your actions to ensure you are performing to" |
|
" the best of your abilities." |
|
) |
|
prompt_generator.add_performance_evaluation( |
|
"Constructively self-criticize your big-picture behavior constantly." |
|
) |
|
prompt_generator.add_performance_evaluation( |
|
"Reflect on past decisions and strategies to refine your approach." |
|
) |
|
prompt_generator.add_performance_evaluation( |
|
"Every command has a cost, so be smart and efficient. Aim to complete tasks in" |
|
" the least number of steps." |
|
) |
|
|
|
|
|
return prompt_generator.generate_prompt_string() |
|
|