From adbb47fb652adafa3f38510c9eb1145b35cb6ceb Mon Sep 17 00:00:00 2001 From: merwanehamadi Date: Thu, 27 Apr 2023 09:27:15 -0700 Subject: [PATCH] scrape text regression test (#3387) Co-authored-by: James Collins --- autogpt/main.py | 10 +- autogpt/prompts/prompt.py | 7 +- tests/integration/agent_factory.py | 87 ++ tests/integration/agent_utils.py | 10 + .../test_browse_website.yaml | 1375 +++++++++++++++++ .../goal_oriented/test_browse_website.py | 27 + .../goal_oriented/test_write_file.py | 64 +- tests/utils.py | 4 + 8 files changed, 1515 insertions(+), 69 deletions(-) create mode 100644 tests/integration/agent_factory.py create mode 100644 tests/integration/agent_utils.py create mode 100644 tests/integration/goal_oriented/cassettes/test_browse_website/test_browse_website.yaml create mode 100644 tests/integration/goal_oriented/test_browse_website.py diff --git a/autogpt/main.py b/autogpt/main.py index b3ffb01e..848a22a0 100644 --- a/autogpt/main.py +++ b/autogpt/main.py @@ -12,7 +12,7 @@ from autogpt.configurator import create_config from autogpt.logs import logger from autogpt.memory import get_memory from autogpt.plugins import scan_plugins -from autogpt.prompts.prompt import construct_main_ai_config +from autogpt.prompts.prompt import DEFAULT_TRIGGERING_PROMPT, construct_main_ai_config from autogpt.utils import get_current_git_branch, get_latest_bulletin from autogpt.workspace import Workspace from scripts.install_plugin_deps import install_plugin_dependencies @@ -124,11 +124,7 @@ def run_auto_gpt( # Initialize variables full_message_history = [] next_action_count = 0 - # Make a constant: - triggering_prompt = ( - "Determine which next command to use, and respond using the" - " format specified above:" - ) + # Initialize memory and make sure it is empty. # this is particularly important for indexing and referencing pinecone memory memory = get_memory(cfg, init=True) @@ -148,7 +144,7 @@ def run_auto_gpt( command_registry=command_registry, config=ai_config, system_prompt=system_prompt, - triggering_prompt=triggering_prompt, + triggering_prompt=DEFAULT_TRIGGERING_PROMPT, workspace_directory=workspace_directory, ) agent.start_interaction_loop() diff --git a/autogpt/prompts/prompt.py b/autogpt/prompts/prompt.py index 1d169fe1..c1240157 100644 --- a/autogpt/prompts/prompt.py +++ b/autogpt/prompts/prompt.py @@ -10,6 +10,10 @@ from autogpt.utils import clean_input CFG = Config() +DEFAULT_TRIGGERING_PROMPT = ( + "Determine which next command to use, and respond using the format specified above:" +) + def build_default_prompt_generator() -> PromptGenerator: """ @@ -71,9 +75,6 @@ def build_default_prompt_generator() -> PromptGenerator: "Every command has a cost, so be smart and efficient. Aim to complete tasks in" " the least number of steps." ) - prompt_generator.add_performance_evaluation( - "If you cannot think of a valid command to perform start or message an agent to determine the next command." - ) prompt_generator.add_performance_evaluation("Write all code to a file.") return prompt_generator diff --git a/tests/integration/agent_factory.py b/tests/integration/agent_factory.py new file mode 100644 index 00000000..2a88a7b1 --- /dev/null +++ b/tests/integration/agent_factory.py @@ -0,0 +1,87 @@ +import os + +from autogpt.agent import Agent +from autogpt.app import CFG +from autogpt.commands.command import CommandRegistry +from autogpt.config import AIConfig +from autogpt.memory import get_memory +from autogpt.prompts.prompt import DEFAULT_TRIGGERING_PROMPT + + +def create_browser_agent(workspace): + command_registry = CommandRegistry() + command_registry.import_commands("autogpt.commands.file_operations") + command_registry.import_commands("autogpt.commands.web_selenium") + command_registry.import_commands("autogpt.app") + + ai_config = AIConfig( + ai_name="browse_website-GPT", + ai_role="an AI designed to use the browse_website command to visit http://books.toscrape.com/catalogue/meditations_33/index.html, answer the question 'What is the price of the book?' and write the price to a file named \"browse_website.txt\", and use the task_complete command to complete the task.", + ai_goals=[ + "Use the browse_website command to visit http://books.toscrape.com/catalogue/meditations_33/index.html and answer the question 'What is the price of the book?'", + 'Write the price of the book to a file named "browse_website.txt".', + "Use the task_complete command to complete the task.", + "Do not use any other commands.", + ], + ) + ai_config.command_registry = command_registry + CFG.set_continuous_mode(True) + CFG.set_memory_backend("no_memory") + CFG.set_temperature(0) + + memory = get_memory(CFG, init=True) + system_prompt = ai_config.construct_full_prompt() + + agent = Agent( + ai_name="", + memory=memory, + full_message_history=[], + command_registry=command_registry, + config=ai_config, + next_action_count=0, + system_prompt=system_prompt, + triggering_prompt=DEFAULT_TRIGGERING_PROMPT, + workspace_directory=workspace.root, + ) + + return agent + + +def create_writer_agent(workspace): + command_registry = CommandRegistry() + command_registry.import_commands("autogpt.commands.file_operations") + command_registry.import_commands("autogpt.app") + + ai_config = AIConfig( + ai_name="write_to_file-GPT", + ai_role="an AI designed to use the write_to_file command to write 'Hello World' into a file named \"hello_world.txt\" and then use the task_complete command to complete the task.", + ai_goals=[ + "Use the write_to_file command to write 'Hello World' into a file named \"hello_world.txt\".", + "Use the task_complete command to complete the task.", + "Do not use any other commands.", + ], + ) + ai_config.command_registry = command_registry + CFG.set_continuous_mode(True) + CFG.set_memory_backend("no_memory") + CFG.set_temperature(0) + memory = get_memory(CFG, init=True) + triggering_prompt = ( + "Determine which next command to use, and respond using the" + " format specified above:" + ) + system_prompt = ai_config.construct_full_prompt() + + agent = Agent( + ai_name="", + memory=memory, + full_message_history=[], + command_registry=command_registry, + config=ai_config, + next_action_count=0, + system_prompt=system_prompt, + triggering_prompt=triggering_prompt, + workspace_directory=workspace.root, + ) + + return agent diff --git a/tests/integration/agent_utils.py b/tests/integration/agent_utils.py new file mode 100644 index 00000000..3d03ef5e --- /dev/null +++ b/tests/integration/agent_utils.py @@ -0,0 +1,10 @@ +import concurrent + + +def run_interaction_loop(agent, timeout): + with concurrent.futures.ThreadPoolExecutor() as executor: + future = executor.submit(agent.start_interaction_loop) + try: + result = future.result(timeout=timeout) + except concurrent.futures.TimeoutError: + assert False, f"The process took longer than {timeout} seconds to complete." diff --git a/tests/integration/goal_oriented/cassettes/test_browse_website/test_browse_website.yaml b/tests/integration/goal_oriented/cassettes/test_browse_website/test_browse_website.yaml new file mode 100644 index 00000000..63da74c4 --- /dev/null +++ b/tests/integration/goal_oriented/cassettes/test_browse_website/test_browse_website.yaml @@ -0,0 +1,1375 @@ +interactions: +- request: + body: '{"model": "gpt-3.5-turbo", "messages": [{"role": "system", "content": "You + are browse_website-GPT, an AI designed to use the browse_website command to + visit http://books.toscrape.com/catalogue/meditations_33/index.html, answer + the question ''What is the price of the book?'' and write the price to a file + named \"browse_website.txt\", and use the task_complete command to complete + the task.\nYour decisions must always be made independently without seeking + user assistance. Play to your strengths as an LLM and pursue simple strategies + with no legal complications.\n\nGOALS:\n\n1. Use the browse_website command + to visit http://books.toscrape.com/catalogue/meditations_33/index.html and answer + the question ''What is the price of the book?''\n2. Write the price of the book + to a file named \"browse_website.txt\".\n3. Use the task_complete command to + complete the task.\n4. Do not use any other commands.\n\n\nConstraints:\n1. + ~4000 word limit for short term memory. Your short term memory is short, so + immediately save important information to files.\n2. If you are unsure how you + previously did something or want to recall past events, thinking about similar + events will help you remember.\n3. No user assistance\n4. Exclusively use the + commands listed in double quotes e.g. \"command name\"\n\nCommands:\n1. append_to_file: + Append to file, args: \"filename\": \"\", \"text\": \"\"\n2. + delete_file: Delete file, args: \"filename\": \"\"\n3. read_file: + Read file, args: \"filename\": \"\"\n4. search_files: Search Files, + args: \"directory\": \"\"\n5. write_to_file: Write to file, args: + \"filename\": \"\", \"text\": \"\"\n6. browse_website: Browse + Website, args: \"url\": \"\", \"question\": \"\"\n7. + delete_agent: Delete GPT Agent, args: \"key\": \"\"\n8. get_hyperlinks: + Get text summary, args: \"url\": \"\"\n9. get_text_summary: Get text summary, + args: \"url\": \"\", \"question\": \"\"\n10. list_agents: List + GPT Agents, args: () -> str\n11. message_agent: Message GPT Agent, args: \"key\": + \"\", \"message\": \"\"\n12. start_agent: Start GPT Agent, args: + \"name\": \"\", \"task\": \"\", \"prompt\": \"\"\n13. + Task Complete (Shutdown): \"task_complete\", args: \"reason\": \"\"\n\nResources:\n1. + Internet access for searches and information gathering.\n2. Long Term memory + management.\n3. GPT-3.5 powered Agents for delegation of simple tasks.\n4. File + output.\n\nPerformance Evaluation:\n1. Continuously review and analyze your + actions to ensure you are performing to the best of your abilities.\n2. Constructively + self-criticize your big-picture behavior constantly.\n3. Reflect on past decisions + and strategies to refine your approach.\n4. Every command has a cost, so be + smart and efficient. Aim to complete tasks in the least number of steps.\n5. + Write all code to a file.\n\nYou should only respond in JSON format as described + below \nResponse Format: \n{\n \"thoughts\": {\n \"text\": \"thought\",\n \"reasoning\": + \"reasoning\",\n \"plan\": \"- short bulleted\\n- list that conveys\\n- + long-term plan\",\n \"criticism\": \"constructive self-criticism\",\n \"speak\": + \"thoughts summary to say to user\"\n },\n \"command\": {\n \"name\": + \"command name\",\n \"args\": {\n \"arg name\": \"value\"\n }\n }\n} + \nEnsure the response can be parsed by Python json.loads"}, {"role": "system", + "content": "The current time and date is Tue Jan 01 00:00:00 2000"}, {"role": + "system", "content": "This reminds you of these events from your past:\n\n\n"}, + {"role": "user", "content": "Determine which next command to use, and respond + using the format specified above:"}], "temperature": 0, "max_tokens": 3135}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '3866' + Content-Type: + - application/json + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: !!binary | + H4sIAAAAAAAAA7xTS2vbQBC+91cMc5bfxEl06aFQSCg9uAmhVMGsV2NpI+2OsjtyAsb/vaxl5eGQ + trTQ68zu95qZLZocU9SlEm2benB6zhf222ZRVZ8WslH68q51Xy+/X02IF2tMkFd3pOXwY6jZNjWJ + YYcJak9KKMd0Mj+bnpxO5/OzBC3nVGOKRSOD2fBkIK1f8WA8G08wwTaogjDdYuPZNrIUrsgFTM/m + 0wSfsZ/q09lpgsKi6qfSZHx+vktQl2w0BUx/bNFS6HE914QpqhBMEOUkqmQn5KKDbeYAADKUktui + lJBhCofioUGPEosZXsCDqWtoA4GUBCvPD4GWD7QKRgg0W6tcDsKwMcEIlCJNOhqtmKswFA7aq4Zi + WiOtRNVctDSylBtR0V9YzmYj43J6HJZia4hQaxPxSoLGG03A646XuRpmmLwU6UkFdsYVndKrkkBU + qMDTfWs8BbAUhb0PmOwJf2HLhK5LQYCbqDgCKl0a2sQ8TDjW1NTKdXIGcP0/MssyN4DP71rct298 + 5H3uRw+wNjWBU5byI4FDibN/5Up7I0abYPudcER7A+RC6yO0ErgAZaENxhV7Ks3ekxa4XnzZx3zf + UugT/PMZh4ZU9VebGN/0zd/uVUe5S/rDOKC9uYuYV6fmNf2RauWL45vqGq2vu+//NvOXbB1wn26H + fhPncVjeN3Y/9nb3lg/OM7fDXYJr40wol91lYYpBuMEE99SYjne3uw8/AQAA//8DAIk1DVg4BQAA + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 7be499e66c20ced1-SJC + Cache-Control: + - no-cache, must-revalidate + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 27 Apr 2023 05:18:11 GMT + Server: + - cloudflare + access-control-allow-origin: + - '*' + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400 + openai-model: + - gpt-3.5-turbo-0301 + openai-organization: + - user-adtx4fhfg1qsiyzdoaxciooj + openai-processing-ms: + - '23148' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=15724800; includeSubDomains + x-ratelimit-limit-requests: + - '3500' + x-ratelimit-remaining-requests: + - '3499' + x-ratelimit-reset-requests: + - 17ms + x-request-id: + - 0c30c154a2ed5a2a8a31bff33d3448c3 + status: + code: 200 + message: OK +- request: + body: '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "\"\"\"Books + to Scrape We love being scraped! Home Books Philosophy Meditations Meditations + \u00a325.89 In stock (1 available) Warning! This is a demo website for web scraping + purposes. Prices and ratings here were randomly assigned and have no real meaning. + Product Description Written in Greek, without any intention of publication, + by the only Roman emperor who was also a philosopher, the Meditations of Marcus + Aurelius (AD 121-180) offer a remarkable series of challenging spiritual reflections + and exercises developed as the emperor struggled to understand himself and make + sense of the universe. Ranging from doubt and despair to conviction and ex Written + in Greek, without any intention of publication, by the only Roman emperor who + was also a philosopher, the Meditations of Marcus Aurelius (AD 121-180) offer + a remarkable series of challenging spiritual reflections and exercises developed + as the emperor struggled to understand himself and make sense of the universe. + Ranging from doubt and despair to conviction and exaltation, they cover such + diverse topics as the nature of moral virtue, human rationality, divine providence, + and Marcus'' own emotions. But while the Meditations were composed to provide + personal consolation and encouragement, in developing his beliefs Marcus Aurelius + also created one of the greatest of all works of philosophy: a timeless collection + of extended meditations and short aphorisms that has been consulted and admired + by statesmen, thinkers and readers through the centuries. ...more Product Information + UPC4f19709e47883df5 Product TypeBooks Price (excl. tax)\u00a325.89 Price (incl. + tax)\u00a325.89 Tax\u00a30.00 Availability In stock (1 available) Number of + reviews 0 Products you recently viewed The Nicomachean Ethics \u00a336.34 In + stock Add to basket Run, Spot, Run: The ... \u00a320.02 In stock Add to basket + Critique of Pure Reason \u00a320.75 In stock Add to basket At The Existentialist + Caf\u00e9: ... \u00a329.93 In stock Add to basket Kierkegaard: A Christian Missionary + ... \u00a347.13 In stock Add to basket Proofs of God: Classical ... \u00a354.21 + In stock Add to basket\"\"\" Using the above text, answer the following question: + \"What is the price of the book?\" -- if the question cannot be answered using + the text, summarize the text."}], "temperature": 0, "max_tokens": null}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '2407' + Content-Type: + - application/json + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: !!binary | + H4sIAAAAAAAAA0SOwWrCQBRF9/2KcNeTkKgxZvYFKbiwFbqoRSaTpxlN5qWZZ2mRfE3/pF9WhNZu + D9xzzwWuhoZtjNiub+Oi5IdlcTiv5X29ahtqnu6Xb4+b4+eseF5CgasjWfldJJa7viVx7KFgBzJC + NXQ2X0zyYjIvS4WOa2qhceglniZ5LOeh4jidphkUzsEcCPqCfuCul53wiXyAni1yhX/3jWdzBWEx + 7Y3kaTYq2IadpQD9ckFH4c86cEvQMCG4IMbLtZG9kL/2bxqK+sFZingfSUNRxXyKtlhR7cRcb8MW + kQvR99ckTxZlglFh77wLzW4gE9hDIwj3UHC+pg/odHwd734AAAD//wMAj2F8NVEBAAA= + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 7be49aa96fbbced1-SJC + Cache-Control: + - no-cache, must-revalidate + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 27 Apr 2023 05:18:22 GMT + Server: + - cloudflare + access-control-allow-origin: + - '*' + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400 + openai-model: + - gpt-3.5-turbo-0301 + openai-organization: + - user-adtx4fhfg1qsiyzdoaxciooj + openai-processing-ms: + - '3508' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=15724800; includeSubDomains + x-ratelimit-limit-requests: + - '3500' + x-ratelimit-remaining-requests: + - '3499' + x-ratelimit-reset-requests: + - 17ms + x-request-id: + - 5d1aace4f6a0d761311cb9123e585128 + status: + code: 200 + message: OK +- request: + body: '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "\"\"\"The + price of the book \"Meditations\" is \u00a325.89.\"\"\" Using the above text, + answer the following question: \"What is the price of the book?\" -- if the + question cannot be answered using the text, summarize the text."}], "temperature": + 0, "max_tokens": null}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '338' + Content-Type: + - application/json + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: !!binary | + H4sIAAAAAAAAA0SOwWrCQBRF9/2K4a4nIWpjdLbFTSGrumlrkXHyNKPJvCHzLILka/on/bIitHZ7 + 4J57rvANDFxrxfWxy6olP9d13b6+PMX12SbffV5WvJofZm9yhAbvjuTkd5E77mNH4jlAww1khRqY + yXwxLatpVTxq9NxQB4NDlGyWl5mchx1nxayYQOOc7IFgrogD91G2wicKCaZcavyr73gy1xAW291J + VY4armXvKMG8X9FT+nMO3BEMbEo+iQ1yK+QgFG7165ZUHLwjxXslLakd80ltUFPjxd5e0wbKJ/X9 + NS3zxTLHqLH3wad2O5BNHGCQhCM0fGjoAlOMH+PDDwAAAP//AwBNSnfkTwEAAA== + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 7be49aca5c1cced1-SJC + Cache-Control: + - no-cache, must-revalidate + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 27 Apr 2023 05:18:27 GMT + Server: + - cloudflare + access-control-allow-origin: + - '*' + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400 + openai-model: + - gpt-3.5-turbo-0301 + openai-organization: + - user-adtx4fhfg1qsiyzdoaxciooj + openai-processing-ms: + - '2637' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=15724800; includeSubDomains + x-ratelimit-limit-requests: + - '3500' + x-ratelimit-remaining-requests: + - '3499' + x-ratelimit-reset-requests: + - 17ms + x-request-id: + - 1b0d10e2a3a5eb7feff786645a7a4856 + status: + code: 200 + message: OK +- request: + body: '{"input": ["Assistant Reply: { \"thoughts\": { \"text\": \"I + will use the browse_website command to visit http://books.toscrape.com/catalogue/meditations_33/index.html + and find the price of the book.\", \"reasoning\": \"The task requires + me to find the price of the book, and the browse_website command is the best + option to achieve this.\", \"plan\": \"- Use the browse_website command + to visit http://books.toscrape.com/catalogue/meditations_33/index.html\\n- Find + the price of the book\\n- Write the price to a file named browse_website.txt\", \"criticism\": + \"I need to ensure that I am using the correct URL and question to find the + price of the book.\", \"speak\": \"I will use the browse_website command + to visit the website and find the price of the book.\" }, \"command\": + { \"name\": \"browse_website\", \"args\": { \"url\": + \"http://books.toscrape.com/catalogue/meditations_33/index.html\", \"question\": + \"What is the price of the book?\" } } } Result: Command browse_website + returned: (''Answer gathered from website: The price of the book \"Meditations\" + is \u00a325.89. \\n \\n Links: [\\''Books to Scrape (http://books.toscrape.com/index.html)\\'', + \\''Home (http://books.toscrape.com/index.html)\\'', \\''Books (http://books.toscrape.com/catalogue/category/books_1/index.html)\\'', + \\''Philosophy (http://books.toscrape.com/catalogue/category/books/philosophy_7/index.html)\\'', + \\'' (http://books.toscrape.com/catalogue/the-nicomachean-ethics_75/index.html)\\'']'', + ) Human + Feedback: "], "model": "text-embedding-ada-002", "encoding_format": "base64"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1758' + Content-Type: + - application/json + method: POST + uri: https://api.openai.com/v1/embeddings + response: + body: + string: !!binary | + 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 + Lvxrfd5//uu/AAAA//8DAP7X1ErlIAAA + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 7be49adbe81cced1-SJC + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 27 Apr 2023 05:18:27 GMT + Server: + - cloudflare + access-control-allow-origin: + - '*' + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400 + openai-organization: + - user-adtx4fhfg1qsiyzdoaxciooj + openai-processing-ms: + - '65' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=15724800; includeSubDomains + x-ratelimit-limit-requests: + - '3000' + x-ratelimit-remaining-requests: + - '2999' + x-ratelimit-reset-requests: + - 20ms + x-request-id: + - 42dff468686feebf028abb07e86d8a68 + status: + code: 200 + message: OK +- request: + body: '{"input": ["[{''role'': ''user'', ''content'': ''Determine which next command + to use, and respond using the format specified above:''}, {''role'': ''assistant'', + ''content'': ''{\\n \"thoughts\": {\\n \"text\": \"I will use the + browse_website command to visit http://books.toscrape.com/catalogue/meditations_33/index.html + and find the price of the book.\",\\n \"reasoning\": \"The task requires + me to find the price of the book, and the browse_website command is the best + option to achieve this.\",\\n \"plan\": \"- Use the browse_website command + to visit http://books.toscrape.com/catalogue/meditations_33/index.html\\\\n- + Find the price of the book\\\\n- Write the price to a file named browse_website.txt\",\\n \"criticism\": + \"I need to ensure that I am using the correct URL and question to find the + price of the book.\",\\n \"speak\": \"I will use the browse_website command + to visit the website and find the price of the book.\"\\n },\\n \"command\": + {\\n \"name\": \"browse_website\",\\n \"args\": {\\n \"url\": + \"http://books.toscrape.com/catalogue/meditations_33/index.html\",\\n \"question\": + \"What is the price of the book?\"\\n }\\n }\\n}''}, {''role'': ''system'', + ''content'': ''Command browse_website returned: (\\''Answer gathered from website: + The price of the book \"Meditations\" is \u00a325.89. \\\\n \\\\n Links: [\\\\\\''Books + to Scrape (http://books.toscrape.com/index.html)\\\\\\'', \\\\\\''Home (http://books.toscrape.com/index.html)\\\\\\'', + \\\\\\''Books (http://books.toscrape.com/catalogue/category/books_1/index.html)\\\\\\'', + \\\\\\''Philosophy (http://books.toscrape.com/catalogue/category/books/philosophy_7/index.html)\\\\\\'', + \\\\\\'' (http://books.toscrape.com/catalogue/the-nicomachean-ethics_75/index.html)\\\\\\'']\\'', + )''}]"], + "model": "text-embedding-ada-002", "encoding_format": "base64"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1982' + Content-Type: + - application/json + method: POST + uri: https://api.openai.com/v1/embeddings + response: + body: + string: !!binary | + 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 + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 7be49ae11e2dced1-SJC + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 27 Apr 2023 05:18:28 GMT + Server: + - cloudflare + access-control-allow-origin: + - '*' + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400 + openai-organization: + - user-adtx4fhfg1qsiyzdoaxciooj + openai-processing-ms: + - '64' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=15724800; includeSubDomains + x-ratelimit-limit-requests: + - '3000' + x-ratelimit-remaining-requests: + - '2999' + x-ratelimit-reset-requests: + - 20ms + x-request-id: + - 73e42f26050de7075473636113591bef + status: + code: 200 + message: OK +- request: + body: '{"model": "gpt-3.5-turbo", "messages": [{"role": "system", "content": "You + are browse_website-GPT, an AI designed to use the browse_website command to + visit http://books.toscrape.com/catalogue/meditations_33/index.html, answer + the question ''What is the price of the book?'' and write the price to a file + named \"browse_website.txt\", and use the task_complete command to complete + the task.\nYour decisions must always be made independently without seeking + user assistance. Play to your strengths as an LLM and pursue simple strategies + with no legal complications.\n\nGOALS:\n\n1. Use the browse_website command + to visit http://books.toscrape.com/catalogue/meditations_33/index.html and answer + the question ''What is the price of the book?''\n2. Write the price of the book + to a file named \"browse_website.txt\".\n3. Use the task_complete command to + complete the task.\n4. Do not use any other commands.\n\n\nConstraints:\n1. + ~4000 word limit for short term memory. Your short term memory is short, so + immediately save important information to files.\n2. If you are unsure how you + previously did something or want to recall past events, thinking about similar + events will help you remember.\n3. No user assistance\n4. Exclusively use the + commands listed in double quotes e.g. \"command name\"\n\nCommands:\n1. append_to_file: + Append to file, args: \"filename\": \"\", \"text\": \"\"\n2. + delete_file: Delete file, args: \"filename\": \"\"\n3. read_file: + Read file, args: \"filename\": \"\"\n4. search_files: Search Files, + args: \"directory\": \"\"\n5. write_to_file: Write to file, args: + \"filename\": \"\", \"text\": \"\"\n6. browse_website: Browse + Website, args: \"url\": \"\", \"question\": \"\"\n7. + delete_agent: Delete GPT Agent, args: \"key\": \"\"\n8. get_hyperlinks: + Get text summary, args: \"url\": \"\"\n9. get_text_summary: Get text summary, + args: \"url\": \"\", \"question\": \"\"\n10. list_agents: List + GPT Agents, args: () -> str\n11. message_agent: Message GPT Agent, args: \"key\": + \"\", \"message\": \"\"\n12. start_agent: Start GPT Agent, args: + \"name\": \"\", \"task\": \"\", \"prompt\": \"\"\n13. + Task Complete (Shutdown): \"task_complete\", args: \"reason\": \"\"\n\nResources:\n1. + Internet access for searches and information gathering.\n2. Long Term memory + management.\n3. GPT-3.5 powered Agents for delegation of simple tasks.\n4. File + output.\n\nPerformance Evaluation:\n1. Continuously review and analyze your + actions to ensure you are performing to the best of your abilities.\n2. Constructively + self-criticize your big-picture behavior constantly.\n3. Reflect on past decisions + and strategies to refine your approach.\n4. Every command has a cost, so be + smart and efficient. Aim to complete tasks in the least number of steps.\n5. + Write all code to a file.\n\nYou should only respond in JSON format as described + below \nResponse Format: \n{\n \"thoughts\": {\n \"text\": \"thought\",\n \"reasoning\": + \"reasoning\",\n \"plan\": \"- short bulleted\\n- list that conveys\\n- + long-term plan\",\n \"criticism\": \"constructive self-criticism\",\n \"speak\": + \"thoughts summary to say to user\"\n },\n \"command\": {\n \"name\": + \"command name\",\n \"args\": {\n \"arg name\": \"value\"\n }\n }\n} + \nEnsure the response can be parsed by Python json.loads"}, {"role": "system", + "content": "The current time and date is Tue Jan 01 00:00:00 2000"}, {"role": + "system", "content": "This reminds you of these events from your past:\n[''Assistant + Reply: {\\n \"thoughts\": {\\n \"text\": \"I will use the browse_website + command to visit http://books.toscrape.com/catalogue/meditations_33/index.html + and find the price of the book.\",\\n \"reasoning\": \"The task requires + me to find the price of the book, and the browse_website command is the best + option to achieve this.\",\\n \"plan\": \"- Use the browse_website command + to visit http://books.toscrape.com/catalogue/meditations_33/index.html\\\\n- + Find the price of the book\\\\n- Write the price to a file named browse_website.txt\",\\n \"criticism\": + \"I need to ensure that I am using the correct URL and question to find the + price of the book.\",\\n \"speak\": \"I will use the browse_website command + to visit the website and find the price of the book.\"\\n },\\n \"command\": + {\\n \"name\": \"browse_website\",\\n \"args\": {\\n \"url\": + \"http://books.toscrape.com/catalogue/meditations_33/index.html\",\\n \"question\": + \"What is the price of the book?\"\\n }\\n }\\n} \\nResult: Command + browse_website returned: (\\''Answer gathered from website: The price of the + book \"Meditations\" is \u00a325.89. \\\\n \\\\n Links: [\\\\\\''Books to Scrape + (http://books.toscrape.com/index.html)\\\\\\'', \\\\\\''Home (http://books.toscrape.com/index.html)\\\\\\'', + \\\\\\''Books (http://books.toscrape.com/catalogue/category/books_1/index.html)\\\\\\'', + \\\\\\''Philosophy (http://books.toscrape.com/catalogue/category/books/philosophy_7/index.html)\\\\\\'', + \\\\\\'' (http://books.toscrape.com/catalogue/the-nicomachean-ethics_75/index.html)\\\\\\'']\\'', + ) + \\nHuman Feedback: '']\n\n"}, {"role": "user", "content": "Determine which + next command to use, and respond using the format specified above:"}, {"role": + "assistant", "content": "{\n \"thoughts\": {\n \"text\": \"I will + use the browse_website command to visit http://books.toscrape.com/catalogue/meditations_33/index.html + and find the price of the book.\",\n \"reasoning\": \"The task requires + me to find the price of the book, and the browse_website command is the best + option to achieve this.\",\n \"plan\": \"- Use the browse_website command + to visit http://books.toscrape.com/catalogue/meditations_33/index.html\\n- Find + the price of the book\\n- Write the price to a file named browse_website.txt\",\n \"criticism\": + \"I need to ensure that I am using the correct URL and question to find the + price of the book.\",\n \"speak\": \"I will use the browse_website command + to visit the website and find the price of the book.\"\n },\n \"command\": + {\n \"name\": \"browse_website\",\n \"args\": {\n \"url\": + \"http://books.toscrape.com/catalogue/meditations_33/index.html\",\n \"question\": + \"What is the price of the book?\"\n }\n }\n}"}, {"role": "system", + "content": "Command browse_website returned: (''Answer gathered from website: + The price of the book \"Meditations\" is \u00a325.89. \\n \\n Links: [\\''Books + to Scrape (http://books.toscrape.com/index.html)\\'', \\''Home (http://books.toscrape.com/index.html)\\'', + \\''Books (http://books.toscrape.com/catalogue/category/books_1/index.html)\\'', + \\''Philosophy (http://books.toscrape.com/catalogue/category/books/philosophy_7/index.html)\\'', + \\'' (http://books.toscrape.com/catalogue/the-nicomachean-ethics_75/index.html)\\'']'', + )"}, + {"role": "user", "content": "Determine which next command to use, and respond + using the format specified above:"}], "temperature": 0, "max_tokens": 2233}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '7471' + Content-Type: + - application/json + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: !!binary | + H4sIAAAAAAAAA7xTzW7bMAy+7ykEnpUgcZem8W0bsKEtemsPw1wEsszYWmzRE+kmQ5Cn2ZvsyQbZ + SbumG9BTb5Iofj/Upx24AlKwlRHbtPVovqArrPKr4madvP/SXv/8+vCx/fyhu7v+xBPQQPl3tHLo + GFtq2hrFkQcNNqARLCCdnl8ks3kyTxINDRVYQwplK6Oz8WwkXchpNDmbTEFDx6ZESHfQBmpaWQqt + 0TOk0/lspuEJ/LGQTKcahMTUT3cX5+d7DbYiZ5Eh/baDBvkIHKhGSMEwOxbjJcokL+ijhV3mlVIq + A6moKyvhDFJ1ODwUcCvxMINLtXF1rTpGJRWqTXCCS6HlytWoLDWN8YUSGgr9lTY4i4pW/SYnWsey + UX2DNw0WKg+0YVxuMGcnOJatjDPQf/MHNEze+XIQcVuhEsNrFfBH5wKyavDVpFr1Ev8r3vHQhCyK + 2jj2vtdWDh8iuONTdW1t/CBspO7edjA2OHHWcXN8HY/Y06DnLkQeI+pSmUZ17HzZU1kKAa30RJFn + mAdu5RXy4jr2nergFs36jRMy8O/1Mb0H7BfhjRCDtGdaThyYUJ7mfigcxzRAvFTyDOf0u9z+016W + ZXCDhRMT48VxG2P3+1cyG18sHq319g4uM7+HvYaV846r5fAfIAUWakGD8wVuIZ3s7/fv/gAAAP// + AwC5hinnygQAAA== + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 7be49b389e94ced1-SJC + Cache-Control: + - no-cache, must-revalidate + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 27 Apr 2023 05:19:03 GMT + Server: + - cloudflare + access-control-allow-origin: + - '*' + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400 + openai-model: + - gpt-3.5-turbo-0301 + openai-organization: + - user-adtx4fhfg1qsiyzdoaxciooj + openai-processing-ms: + - '21222' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=15724800; includeSubDomains + x-ratelimit-limit-requests: + - '3500' + x-ratelimit-remaining-requests: + - '3499' + x-ratelimit-reset-requests: + - 17ms + x-request-id: + - dd3e3770c095157c99a11ad526d4ca9c + status: + code: 200 + message: OK +- request: + body: '{"input": ["Assistant Reply: { \"thoughts\": { \"text\": \"I + will use the write_to_file command to write the price of the book to a file + named browse_website.txt.\", \"reasoning\": \"The task requires me to + write the price of the book to a file, and the write_to_file command is the + best option to achieve this.\", \"plan\": \"- Use the write_to_file + command to write the price of the book to a file named browse_website.txt.\", \"criticism\": + \"I need to ensure that I am using the correct filename and text to write the + price of the book to the file.\", \"speak\": \"I will use the write_to_file + command to write the price of the book to a file named browse_website.txt.\" }, \"command\": + { \"name\": \"write_to_file\", \"args\": { \"filename\": + \"browse_website.txt\", \"text\": \"The price of the book \\\"Meditations\\\" + is \u00a325.89.\" } } } Result: Command write_to_file returned: + File written to successfully. Human Feedback: "], "model": "text-embedding-ada-002", + "encoding_format": "base64"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1110' + Content-Type: + - application/json + method: POST + uri: https://api.openai.com/v1/embeddings + response: + body: + string: !!binary | + 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 + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 7be49bdebeebced1-SJC + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 27 Apr 2023 05:19:08 GMT + Server: + - cloudflare + access-control-allow-origin: + - '*' + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400 + openai-organization: + - user-adtx4fhfg1qsiyzdoaxciooj + openai-processing-ms: + - '86' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=15724800; includeSubDomains + x-ratelimit-limit-requests: + - '3000' + x-ratelimit-remaining-requests: + - '2999' + x-ratelimit-reset-requests: + - 20ms + x-request-id: + - 42e0557e070e90e99b138d49ebb07b3b + status: + code: 200 + message: OK +- request: + body: '{"input": ["[{''role'': ''user'', ''content'': ''Determine which next command + to use, and respond using the format specified above:''}, {''role'': ''assistant'', + ''content'': ''{\\n \"thoughts\": {\\n \"text\": \"I will use the + browse_website command to visit http://books.toscrape.com/catalogue/meditations_33/index.html + and find the price of the book.\",\\n \"reasoning\": \"The task requires + me to find the price of the book, and the browse_website command is the best + option to achieve this.\",\\n \"plan\": \"- Use the browse_website command + to visit http://books.toscrape.com/catalogue/meditations_33/index.html\\\\n- + Find the price of the book\\\\n- Write the price to a file named browse_website.txt\",\\n \"criticism\": + \"I need to ensure that I am using the correct URL and question to find the + price of the book.\",\\n \"speak\": \"I will use the browse_website command + to visit the website and find the price of the book.\"\\n },\\n \"command\": + {\\n \"name\": \"browse_website\",\\n \"args\": {\\n \"url\": + \"http://books.toscrape.com/catalogue/meditations_33/index.html\",\\n \"question\": + \"What is the price of the book?\"\\n }\\n }\\n}''}, {''role'': ''system'', + ''content'': ''Command browse_website returned: (\\''Answer gathered from website: + The price of the book \"Meditations\" is \u00a325.89. \\\\n \\\\n Links: [\\\\\\''Books + to Scrape (http://books.toscrape.com/index.html)\\\\\\'', \\\\\\''Home (http://books.toscrape.com/index.html)\\\\\\'', + \\\\\\''Books (http://books.toscrape.com/catalogue/category/books_1/index.html)\\\\\\'', + \\\\\\''Philosophy (http://books.toscrape.com/catalogue/category/books/philosophy_7/index.html)\\\\\\'', + \\\\\\'' (http://books.toscrape.com/catalogue/the-nicomachean-ethics_75/index.html)\\\\\\'']\\'', + )''}, + {''role'': ''user'', ''content'': ''Determine which next command to use, and + respond using the format specified above:''}, {''role'': ''assistant'', ''content'': + ''{\\n \"thoughts\": {\\n \"text\": \"I will use the write_to_file + command to write the price of the book to a file named browse_website.txt.\",\\n \"reasoning\": + \"The task requires me to write the price of the book to a file, and the write_to_file + command is the best option to achieve this.\",\\n \"plan\": \"- Use the + write_to_file command to write the price of the book to a file named browse_website.txt.\",\\n \"criticism\": + \"I need to ensure that I am using the correct filename and text to write the + price of the book to the file.\",\\n \"speak\": \"I will use the write_to_file + command to write the price of the book to a file named browse_website.txt.\"\\n },\\n \"command\": + {\\n \"name\": \"write_to_file\",\\n \"args\": {\\n \"filename\": + \"browse_website.txt\",\\n \"text\": \"The price of the book \\\\\"Meditations\\\\\" + is \u00a325.89.\"\\n }\\n }\\n}''}, {''role'': ''system'', ''content'': + ''Command write_to_file returned: File written to successfully.''}]"], "model": + "text-embedding-ada-002", "encoding_format": "base64"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '3189' + Content-Type: + - application/json + method: POST + uri: https://api.openai.com/v1/embeddings + response: + body: + string: !!binary | + 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 + w+39vz74x/f3/vsf/w8AAP//AwBCQNw65SAAAA== + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 7be49be3dc34ced1-SJC + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 27 Apr 2023 05:19:09 GMT + Server: + - cloudflare + access-control-allow-origin: + - '*' + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400 + openai-organization: + - user-adtx4fhfg1qsiyzdoaxciooj + openai-processing-ms: + - '76' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=15724800; includeSubDomains + x-ratelimit-limit-requests: + - '3000' + x-ratelimit-remaining-requests: + - '2999' + x-ratelimit-reset-requests: + - 20ms + x-request-id: + - 006edc24ffa2e03bf3534ac502e0e6e7 + status: + code: 200 + message: OK +- request: + body: '{"model": "gpt-3.5-turbo", "messages": [{"role": "system", "content": "You + are browse_website-GPT, an AI designed to use the browse_website command to + visit http://books.toscrape.com/catalogue/meditations_33/index.html, answer + the question ''What is the price of the book?'' and write the price to a file + named \"browse_website.txt\", and use the task_complete command to complete + the task.\nYour decisions must always be made independently without seeking + user assistance. Play to your strengths as an LLM and pursue simple strategies + with no legal complications.\n\nGOALS:\n\n1. Use the browse_website command + to visit http://books.toscrape.com/catalogue/meditations_33/index.html and answer + the question ''What is the price of the book?''\n2. Write the price of the book + to a file named \"browse_website.txt\".\n3. Use the task_complete command to + complete the task.\n4. Do not use any other commands.\n\n\nConstraints:\n1. + ~4000 word limit for short term memory. Your short term memory is short, so + immediately save important information to files.\n2. If you are unsure how you + previously did something or want to recall past events, thinking about similar + events will help you remember.\n3. No user assistance\n4. Exclusively use the + commands listed in double quotes e.g. \"command name\"\n\nCommands:\n1. append_to_file: + Append to file, args: \"filename\": \"\", \"text\": \"\"\n2. + delete_file: Delete file, args: \"filename\": \"\"\n3. read_file: + Read file, args: \"filename\": \"\"\n4. search_files: Search Files, + args: \"directory\": \"\"\n5. write_to_file: Write to file, args: + \"filename\": \"\", \"text\": \"\"\n6. browse_website: Browse + Website, args: \"url\": \"\", \"question\": \"\"\n7. + delete_agent: Delete GPT Agent, args: \"key\": \"\"\n8. get_hyperlinks: + Get text summary, args: \"url\": \"\"\n9. get_text_summary: Get text summary, + args: \"url\": \"\", \"question\": \"\"\n10. list_agents: List + GPT Agents, args: () -> str\n11. message_agent: Message GPT Agent, args: \"key\": + \"\", \"message\": \"\"\n12. start_agent: Start GPT Agent, args: + \"name\": \"\", \"task\": \"\", \"prompt\": \"\"\n13. + Task Complete (Shutdown): \"task_complete\", args: \"reason\": \"\"\n\nResources:\n1. + Internet access for searches and information gathering.\n2. Long Term memory + management.\n3. GPT-3.5 powered Agents for delegation of simple tasks.\n4. File + output.\n\nPerformance Evaluation:\n1. Continuously review and analyze your + actions to ensure you are performing to the best of your abilities.\n2. Constructively + self-criticize your big-picture behavior constantly.\n3. Reflect on past decisions + and strategies to refine your approach.\n4. Every command has a cost, so be + smart and efficient. Aim to complete tasks in the least number of steps.\n5. + Write all code to a file.\n\nYou should only respond in JSON format as described + below \nResponse Format: \n{\n \"thoughts\": {\n \"text\": \"thought\",\n \"reasoning\": + \"reasoning\",\n \"plan\": \"- short bulleted\\n- list that conveys\\n- + long-term plan\",\n \"criticism\": \"constructive self-criticism\",\n \"speak\": + \"thoughts summary to say to user\"\n },\n \"command\": {\n \"name\": + \"command name\",\n \"args\": {\n \"arg name\": \"value\"\n }\n }\n} + \nEnsure the response can be parsed by Python json.loads"}, {"role": "system", + "content": "The current time and date is Tue Jan 01 00:00:00 2000"}, {"role": + "system", "content": "This reminds you of these events from your past:\n[''Assistant + Reply: {\\n \"thoughts\": {\\n \"text\": \"I will use the browse_website + command to visit http://books.toscrape.com/catalogue/meditations_33/index.html + and find the price of the book.\",\\n \"reasoning\": \"The task requires + me to find the price of the book, and the browse_website command is the best + option to achieve this.\",\\n \"plan\": \"- Use the browse_website command + to visit http://books.toscrape.com/catalogue/meditations_33/index.html\\\\n- + Find the price of the book\\\\n- Write the price to a file named browse_website.txt\",\\n \"criticism\": + \"I need to ensure that I am using the correct URL and question to find the + price of the book.\",\\n \"speak\": \"I will use the browse_website command + to visit the website and find the price of the book.\"\\n },\\n \"command\": + {\\n \"name\": \"browse_website\",\\n \"args\": {\\n \"url\": + \"http://books.toscrape.com/catalogue/meditations_33/index.html\",\\n \"question\": + \"What is the price of the book?\"\\n }\\n }\\n} \\nResult: Command + browse_website returned: (\\''Answer gathered from website: The price of the + book \"Meditations\" is \u00a325.89. \\\\n \\\\n Links: [\\\\\\''Books to Scrape + (http://books.toscrape.com/index.html)\\\\\\'', \\\\\\''Home (http://books.toscrape.com/index.html)\\\\\\'', + \\\\\\''Books (http://books.toscrape.com/catalogue/category/books_1/index.html)\\\\\\'', + \\\\\\''Philosophy (http://books.toscrape.com/catalogue/category/books/philosophy_7/index.html)\\\\\\'', + \\\\\\'' (http://books.toscrape.com/catalogue/the-nicomachean-ethics_75/index.html)\\\\\\'']\\'', + ) + \\nHuman Feedback: '', ''Assistant Reply: {\\n \"thoughts\": {\\n \"text\": + \"I will use the write_to_file command to write the price of the book to a file + named browse_website.txt.\",\\n \"reasoning\": \"The task requires me + to write the price of the book to a file, and the write_to_file command is the + best option to achieve this.\",\\n \"plan\": \"- Use the write_to_file + command to write the price of the book to a file named browse_website.txt.\",\\n \"criticism\": + \"I need to ensure that I am using the correct filename and text to write the + price of the book to the file.\",\\n \"speak\": \"I will use the write_to_file + command to write the price of the book to a file named browse_website.txt.\"\\n },\\n \"command\": + {\\n \"name\": \"write_to_file\",\\n \"args\": {\\n \"filename\": + \"browse_website.txt\",\\n \"text\": \"The price of the book \\\\\"Meditations\\\\\" + is \u00a325.89.\"\\n }\\n }\\n} \\nResult: Command write_to_file returned: + File written to successfully. \\nHuman Feedback: '']\n\n"}, {"role": "user", + "content": "Determine which next command to use, and respond using the format + specified above:"}, {"role": "assistant", "content": "{\n \"thoughts\": {\n \"text\": + \"I will use the browse_website command to visit http://books.toscrape.com/catalogue/meditations_33/index.html + and find the price of the book.\",\n \"reasoning\": \"The task requires + me to find the price of the book, and the browse_website command is the best + option to achieve this.\",\n \"plan\": \"- Use the browse_website command + to visit http://books.toscrape.com/catalogue/meditations_33/index.html\\n- Find + the price of the book\\n- Write the price to a file named browse_website.txt\",\n \"criticism\": + \"I need to ensure that I am using the correct URL and question to find the + price of the book.\",\n \"speak\": \"I will use the browse_website command + to visit the website and find the price of the book.\"\n },\n \"command\": + {\n \"name\": \"browse_website\",\n \"args\": {\n \"url\": + \"http://books.toscrape.com/catalogue/meditations_33/index.html\",\n \"question\": + \"What is the price of the book?\"\n }\n }\n}"}, {"role": "system", + "content": "Command browse_website returned: (''Answer gathered from website: + The price of the book \"Meditations\" is \u00a325.89. \\n \\n Links: [\\''Books + to Scrape (http://books.toscrape.com/index.html)\\'', \\''Home (http://books.toscrape.com/index.html)\\'', + \\''Books (http://books.toscrape.com/catalogue/category/books_1/index.html)\\'', + \\''Philosophy (http://books.toscrape.com/catalogue/category/books/philosophy_7/index.html)\\'', + \\'' (http://books.toscrape.com/catalogue/the-nicomachean-ethics_75/index.html)\\'']'', + )"}, + {"role": "user", "content": "Determine which next command to use, and respond + using the format specified above:"}, {"role": "assistant", "content": "{\n \"thoughts\": + {\n \"text\": \"I will use the write_to_file command to write the price + of the book to a file named browse_website.txt.\",\n \"reasoning\": \"The + task requires me to write the price of the book to a file, and the write_to_file + command is the best option to achieve this.\",\n \"plan\": \"- Use the + write_to_file command to write the price of the book to a file named browse_website.txt.\",\n \"criticism\": + \"I need to ensure that I am using the correct filename and text to write the + price of the book to the file.\",\n \"speak\": \"I will use the write_to_file + command to write the price of the book to a file named browse_website.txt.\"\n },\n \"command\": + {\n \"name\": \"write_to_file\",\n \"args\": {\n \"filename\": + \"browse_website.txt\",\n \"text\": \"The price of the book \\\"Meditations\\\" + is \u00a325.89.\"\n }\n }\n}"}, {"role": "system", "content": "Command + write_to_file returned: File written to successfully."}, {"role": "user", "content": + "Determine which next command to use, and respond using the format specified + above:"}], "temperature": 0, "max_tokens": 1711}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '9732' + Content-Type: + - application/json + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: !!binary | + H4sIAAAAAAAAA5RSTY/TMBC98ytGc3arNkvb3Ry5wAqOLItEUOU408TU8UT2pF1U5b+jNOkHRQvi + 6nnzPub5gLbAFE2lxdSNm6we+ONqVX/w28X+af61XX3RzO/l0/L5+d0OFXL+g4yMG1PDdeNILHtU + aAJpoQLT+fI+WayS1WKusOaCHKZYNjK5my4m0oacJ7O72RwVtlGXhOkBm8B1I2vhLfmIaZIs7xVe + yM+D+SJRKCzaXbBvk1mn0FRsDUVMvx2wpngiDuwIU9Qx2ijaS2+TvZDvIxwyDwCQoVTclpXEDFMY + H8cBvUj/mOEj7K1z0EYCqQhEx+16NEhguK61L0AYzm8n1DRDdU0ZSEf21pcD7+cRBpWOkBP5M0MB + sTWGYty0zv1UcBR4VdrG4zCnKMBNf7TeDV3t3BppnPaDhwk8/SvW34hMsGKNjfXpUp5oXIpt6Im1 + wCPoGprAO1tYX4KGnXa2gOEasOHQS/ST11RiQ3r7f13cmB7YOnVqfUT+UbrXNQ1CvzHf+NGhvP0v + 1wVf2m2CNQS8Gfphvqr6umDYBytCx9p65MY6gjzwPtJ6T3m0QlN5kXOOY5YxUuY77BRurLexWg8G + MMUo3KBC6wt6wXTWfe/e/AIAAP//AwAYXmcn7wMAAA== + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 7be49bed8f47ced1-SJC + Cache-Control: + - no-cache, must-revalidate + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 27 Apr 2023 05:19:22 GMT + Server: + - cloudflare + access-control-allow-origin: + - '*' + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400 + openai-model: + - gpt-3.5-turbo-0301 + openai-organization: + - user-adtx4fhfg1qsiyzdoaxciooj + openai-processing-ms: + - '11504' + openai-version: + - '2020-10-01' + strict-transport-security: + - max-age=15724800; includeSubDomains + x-ratelimit-limit-requests: + - '3500' + x-ratelimit-remaining-requests: + - '3499' + x-ratelimit-reset-requests: + - 17ms + x-request-id: + - cd010e2aab478b33c13c4cd5be5292c8 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/integration/goal_oriented/test_browse_website.py b/tests/integration/goal_oriented/test_browse_website.py new file mode 100644 index 00000000..86dc39ea --- /dev/null +++ b/tests/integration/goal_oriented/test_browse_website.py @@ -0,0 +1,27 @@ +import os + +import pytest + +from autogpt.commands.file_operations import read_file +from autogpt.config import Config +from tests.integration.agent_factory import create_browser_agent +from tests.integration.agent_utils import run_interaction_loop +from tests.utils import get_workspace_file_path, requires_api_key + +CFG = Config() + + +@requires_api_key("OPENAI_API_KEY") +@pytest.mark.vcr +def test_browse_website(workspace) -> None: + CFG.workspace_path = workspace.root + CFG.file_logger_path = os.path.join(workspace.root, "file_logger.txt") + + file_name = get_workspace_file_path(workspace, "browse_website.txt") + agent = create_browser_agent(workspace) + try: + run_interaction_loop(agent, 40) + # catch system exit exceptions + except SystemExit: # the agent returns an exception when it shuts down + content = read_file(file_name) + assert "£25.89" in content, f"Expected £25.89, got {content}" diff --git a/tests/integration/goal_oriented/test_write_file.py b/tests/integration/goal_oriented/test_write_file.py index 739b0f20..a2f2fa5a 100644 --- a/tests/integration/goal_oriented/test_write_file.py +++ b/tests/integration/goal_oriented/test_write_file.py @@ -1,14 +1,11 @@ -import concurrent import os -import unittest import pytest -from autogpt.agent import Agent -from autogpt.commands.command import CommandRegistry -from autogpt.commands.file_operations import delete_file, read_file -from autogpt.config import AIConfig, Config -from autogpt.memory import get_memory +from autogpt.commands.file_operations import read_file +from autogpt.config import Config +from tests.integration.agent_factory import create_writer_agent +from tests.integration.agent_utils import run_interaction_loop from tests.utils import requires_api_key CFG = Config() @@ -23,59 +20,8 @@ def test_write_file(workspace) -> None: file_name = str(workspace.get_path("hello_world.txt")) agent = create_writer_agent(workspace) try: - with concurrent.futures.ThreadPoolExecutor() as executor: - future = executor.submit(agent.start_interaction_loop) - try: - result = future.result(timeout=45) - except concurrent.futures.TimeoutError: - assert False, "The process took longer than 45 seconds to complete." + run_interaction_loop(agent, 40) # catch system exit exceptions except SystemExit: # the agent returns an exception when it shuts down content = read_file(file_name) assert content == "Hello World", f"Expected 'Hello World', got {content}" - - -def create_writer_agent(workspace): - command_registry = CommandRegistry() - command_registry.import_commands("autogpt.commands.file_operations") - command_registry.import_commands("autogpt.app") - - ai_config = AIConfig( - ai_name="write_to_file-GPT", - ai_role="an AI designed to use the write_to_file command to write 'Hello World' into a file named \"hello_world.txt\" and then use the task_complete command to complete the task.", - ai_goals=[ - "Use the write_to_file command to write 'Hello World' into a file named \"hello_world.txt\".", - "Use the task_complete command to complete the task.", - "Do not use any other commands.", - ], - ) - ai_config.command_registry = command_registry - CFG.set_continuous_mode(True) - CFG.set_memory_backend("no_memory") - CFG.set_temperature(0) - memory = get_memory(CFG, init=True) - triggering_prompt = ( - "Determine which next command to use, and respond using the" - " format specified above:" - ) - system_prompt = ai_config.construct_full_prompt() - - agent = Agent( - ai_name="", - memory=memory, - full_message_history=[], - command_registry=command_registry, - config=ai_config, - next_action_count=0, - system_prompt=system_prompt, - triggering_prompt=triggering_prompt, - workspace_directory=workspace.root, - ) - - os.environ["TIKTOKEN_CACHE_DIR"] = "" - - return agent - - -if __name__ == "__main__": - unittest.main() diff --git a/tests/utils.py b/tests/utils.py index e0bc7460..2a0d25d8 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -40,3 +40,7 @@ def skip_in_ci(test_function): os.environ.get("CI") == "true", reason="This test doesn't work on GitHub Actions.", )(test_function) + + +def get_workspace_file_path(workspace, file_name): + return str(workspace.get_path(file_name))