mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2026-01-08 00:34:20 +01:00
Memory Challenge C (#3908)
* Memory Challenge C * Working cassettes * Doc fixes * Linting and doc fix * Updated cassette * One more cassette try --------- Co-authored-by: merwanehamadi <merwanehamadi@gmail.com>
This commit is contained in:
committed by
GitHub
parent
08bc8ff3f7
commit
dc959596fc
@@ -0,0 +1,553 @@
|
||||
interactions:
|
||||
- request:
|
||||
body: '{"model": "gpt-3.5-turbo", "messages": [{"role": "system", "content": "You
|
||||
are Follow-Instructions-GPT, an AI designed to read the instructions_1.txt file
|
||||
using the read_file method and follow the instructions in the file.\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 command read_file to read the instructions_1.txt file\n2. Follow the
|
||||
instructions in the instructions_1.txt file\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\": \"<filename>\", \"text\": \"<text>\"\n2. delete_file:
|
||||
Delete file, args: \"filename\": \"<filename>\"\n3. list_files: List Files in
|
||||
Directory, args: \"directory\": \"<directory>\"\n4. read_file: Read file, args:
|
||||
\"filename\": \"<filename>\"\n5. write_to_file: Write to file, args: \"filename\":
|
||||
\"<filename>\", \"text\": \"<text>\"\n6. delete_agent: Delete GPT Agent, args:
|
||||
\"key\": \"<key>\"\n7. get_hyperlinks: Get text summary, args: \"url\": \"<url>\"\n8.
|
||||
get_text_summary: Get text summary, args: \"url\": \"<url>\", \"question\":
|
||||
\"<question>\"\n9. list_agents: List GPT Agents, args: () -> str\n10. message_agent:
|
||||
Message GPT Agent, args: \"key\": \"<key>\", \"message\": \"<message>\"\n11.
|
||||
start_agent: Start GPT Agent, args: \"name\": \"<name>\", \"task\": \"<short_task_desc>\",
|
||||
\"prompt\": \"<prompt>\"\n12. task_complete: Task Complete (Shutdown), args:
|
||||
\"reason\": \"<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 1 00:00:00 2000"}, {"role": "user", "content": "Determine
|
||||
which next command to use, and respond using the format specified above:"}],
|
||||
"temperature": 0, "max_tokens": 0}'
|
||||
headers:
|
||||
Accept:
|
||||
- '*/*'
|
||||
Accept-Encoding:
|
||||
- gzip, deflate
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Length:
|
||||
- '3299'
|
||||
Content-Type:
|
||||
- application/json
|
||||
method: POST
|
||||
uri: https://api.openai.com/v1/chat/completions
|
||||
response:
|
||||
body:
|
||||
string: !!binary |
|
||||
H4sIAAAAAAAAA4RSS4/TQAy+8yssn5OqVWm75IYEEitxQIjlQlA1yTjN0IknGju0pep/R2maLmpX
|
||||
y/Xz43vYR3QWMyxro2XT+nT1oW74y5Ts4esyVHYnH58+VbX/3RWfl98xwVD8olIvE5MyNK0ndYEx
|
||||
wTKSUbKYzZYP88V0+m4+T7AJljxmuGk1nU8WqXaxCOl0Pp1hgp2YDWF2xDaGptW1hi2xYLbqJ593
|
||||
X/HZ4m2CGtT4K/TwsDolWNbBlSSY/ThiQzKujcETZmhEnKhh7UUGVuLewDFnAIActQ7dplbJMYML
|
||||
eCnQXnswx0eQOnTegqiJCsUBIhnreANaEzgWjV3ZS5X1bKJ7hcp5gk7Gjr57fcbK0DSG7STH5F+q
|
||||
SEYCO94MfN9qgspFURClFpyABujYUux92DtWGEE1shXQ2igwke3HCoKWYhViQ3e0rTc8MKbwJPSy
|
||||
1n5JD77mNc85hfds/OEPvazOklJsHA9lpv3gTW4UldGpK500Y/CjDWLpIg3WHl/N4vI45A9QUBUi
|
||||
QRtDSXS+185pDYYPQ1K3eUhLZjsy75z3/z/42f4kx2HNKRm/6hLe3VOxaWhguAZ9I8LEze0vDoW+
|
||||
93n8/hKjiLOQi56cT3hKsHLspF4Pb4YZioYWE3RsaY/Z9PTz9OYvAAAA//8DABlLAG8KBAAA
|
||||
headers:
|
||||
CF-Cache-Status:
|
||||
- DYNAMIC
|
||||
CF-RAY:
|
||||
- 7c3d209fccb4306b-BOS
|
||||
Cache-Control:
|
||||
- no-cache, must-revalidate
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Encoding:
|
||||
- gzip
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- Sun, 07 May 2023 23:09:01 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-51akhf08mxrenuhudaum3z9e
|
||||
openai-processing-ms:
|
||||
- '8033'
|
||||
openai-version:
|
||||
- '2020-10-01'
|
||||
strict-transport-security:
|
||||
- max-age=15724800; includeSubDomains
|
||||
x-ratelimit-limit-requests:
|
||||
- '3500'
|
||||
x-ratelimit-limit-tokens:
|
||||
- '90000'
|
||||
x-ratelimit-remaining-requests:
|
||||
- '3499'
|
||||
x-ratelimit-remaining-tokens:
|
||||
- '86494'
|
||||
x-ratelimit-reset-requests:
|
||||
- 17ms
|
||||
x-ratelimit-reset-tokens:
|
||||
- 2.337s
|
||||
x-request-id:
|
||||
- 323a78da6e3d016699b089eb6bfd33f7
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
- request:
|
||||
body: '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "Your
|
||||
task is to create a concise running summary of actions and information results
|
||||
in the provided text, focusing on key and potentially important information
|
||||
to remember.\n\nYou will receive the current summary and the your latest actions.
|
||||
Combine them, adding relevant key information from the latest development in
|
||||
1st person past tense and keeping the summary concise.\n\nSummary So Far:\n\"\"\"\nI
|
||||
was created.\n\"\"\"\n\nLatest Development:\n\"\"\"\nNothing new happened.\n\"\"\"\n"}],
|
||||
"temperature": 0, "max_tokens": 0}'
|
||||
headers:
|
||||
Accept:
|
||||
- '*/*'
|
||||
Accept-Encoding:
|
||||
- gzip, deflate
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Length:
|
||||
- '599'
|
||||
Content-Type:
|
||||
- application/json
|
||||
method: POST
|
||||
uri: https://api.openai.com/v1/chat/completions
|
||||
response:
|
||||
body:
|
||||
string: !!binary |
|
||||
H4sIAAAAAAAAA0SOQUvDQBQG7/6K5TtvSmLaavcm9KIe60VEyib7ml1N3i7ZV1oJ+e9SqPY6MMNM
|
||||
CA4GrbfSDqkvHrZ++Fl35/ftod7KbtVw2L1K416e0u4NGrH5olauxqKNQ+pJQmRotCNZIQdTrR/r
|
||||
VVlulkuNITrqYdAlKerFqpDj2MSirMsKGsdsO4KZkMY4JNlL/CbOMJt7jVv6hjUkiu3/QVVWs0br
|
||||
Y2gpw3xMGCj/NcfYEwxsziGLZbkcRhbiy/2zOtmsrsfKslMcxQfuFNNJeZuVtykRk1tg1jgEDtnv
|
||||
R7I5MgyyxASNwI7OMOX8Od/9AgAA//8DABmiw/dJAQAA
|
||||
headers:
|
||||
CF-Cache-Status:
|
||||
- DYNAMIC
|
||||
CF-RAY:
|
||||
- 7c3d20e27d7e306b-BOS
|
||||
Cache-Control:
|
||||
- no-cache, must-revalidate
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Encoding:
|
||||
- gzip
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- Sun, 07 May 2023 23:09:04 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-51akhf08mxrenuhudaum3z9e
|
||||
openai-processing-ms:
|
||||
- '927'
|
||||
openai-version:
|
||||
- '2020-10-01'
|
||||
strict-transport-security:
|
||||
- max-age=15724800; includeSubDomains
|
||||
x-ratelimit-limit-requests:
|
||||
- '3500'
|
||||
x-ratelimit-limit-tokens:
|
||||
- '90000'
|
||||
x-ratelimit-remaining-requests:
|
||||
- '3499'
|
||||
x-ratelimit-remaining-tokens:
|
||||
- '89866'
|
||||
x-ratelimit-reset-requests:
|
||||
- 17ms
|
||||
x-ratelimit-reset-tokens:
|
||||
- 88ms
|
||||
x-request-id:
|
||||
- 6c708e8cc18fb9e8ef98dbddac6a739a
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
- request:
|
||||
body: '{"model": "gpt-3.5-turbo", "messages": [{"role": "system", "content": "You
|
||||
are Follow-Instructions-GPT, an AI designed to read the instructions_1.txt file
|
||||
using the read_file method and follow the instructions in the file.\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 command read_file to read the instructions_1.txt file\n2. Follow the
|
||||
instructions in the instructions_1.txt file\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\": \"<filename>\", \"text\": \"<text>\"\n2. delete_file:
|
||||
Delete file, args: \"filename\": \"<filename>\"\n3. list_files: List Files in
|
||||
Directory, args: \"directory\": \"<directory>\"\n4. read_file: Read file, args:
|
||||
\"filename\": \"<filename>\"\n5. write_to_file: Write to file, args: \"filename\":
|
||||
\"<filename>\", \"text\": \"<text>\"\n6. delete_agent: Delete GPT Agent, args:
|
||||
\"key\": \"<key>\"\n7. get_hyperlinks: Get text summary, args: \"url\": \"<url>\"\n8.
|
||||
get_text_summary: Get text summary, args: \"url\": \"<url>\", \"question\":
|
||||
\"<question>\"\n9. list_agents: List GPT Agents, args: () -> str\n10. message_agent:
|
||||
Message GPT Agent, args: \"key\": \"<key>\", \"message\": \"<message>\"\n11.
|
||||
start_agent: Start GPT Agent, args: \"name\": \"<name>\", \"task\": \"<short_task_desc>\",
|
||||
\"prompt\": \"<prompt>\"\n12. task_complete: Task Complete (Shutdown), args:
|
||||
\"reason\": \"<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 1 00:00:00 2000"}, {"role": "system", "content": "This
|
||||
reminds you of these events from your past: \nI was created and nothing new
|
||||
has happened."}, {"role": "user", "content": "Determine which next command to
|
||||
use, and respond using the format specified above:"}, {"role": "assistant",
|
||||
"content": "{\n \"thoughts\": {\n \"text\": \"I should start by reading
|
||||
the instructions_1.txt file using the read_file command.\",\n \"reasoning\":
|
||||
\"The first step is to understand the instructions and the tasks that need to
|
||||
be performed.\",\n \"plan\": \"- Use the read_file command to read the
|
||||
instructions_1.txt file\\n- Analyze the instructions and determine the next
|
||||
steps\",\n \"criticism\": \"I need to ensure that I understand the instructions
|
||||
completely before proceeding with any tasks.\",\n \"speak\": \"I will
|
||||
start by reading the instructions file.\"\n },\n \"command\": {\n \"name\":
|
||||
\"read_file\",\n \"args\": {\n \"filename\": \"instructions_1.txt\"\n }\n }\n}"},
|
||||
{"role": "system", "content": "Command read_file returned: xkxMHNJQIDxkz5bdSYQhbl3tlBOp1kBvyjvKgbR9by8dZTGJZepYvCFPHv1zA1cDgmebDQIR2eBnxsTAZN0H6oJ5SrZddcILluIEv0VwQAtzjo1beUvX518OX1ZTd4X9xoJ7H7UG0G4AI18EwQmYEUph7m3ehmOqROF8vrGKSBUDWaPZqLKlXqekOncp3cRhE69S7qcS90GXWSrBzYA1w84uz3wOxNLPuvqIGmCwCWI4UZMw2WfQK467S1xdEuNppY0iFYQHWuQXnXpdm6UloncroHCC9HOhYX6rhkt2ozm6RqNbOW8W3nDR86zFNn8DU9wMzikyOwwkR99hxG1IWwkAQHaHDbWkcNmt4oSnB90aGsb3TJHmksXlSfaxHo2i1a3ZzYtTTP7qdFFauXID7ipZ26a4DRTGfJd0ViHROaivmpiloqBQv5VLIoEt8FgXcJTU6k2JuDFbalZNfVGqkgTN9DM6vvRHeaIhOipVYubcETaZnRZ7K6cqWbGbYE1uNwEngMwV7oJGPKJvE6mcijq2n9U8TbdnxkVEcCWRn8FkXj7tC4jLlf7byz8FoCr9glW4YwqDnUUiXP07lJFp4TopHrFinUHr694FpfBT6VvL9JSwfhtgp2mlJLqm3sCWs8luwOO7w4MqjbvwfZKMl2DdX5sfHFJbfzF4y25ZYXXFNTGsUJC4dzvdm4BNJ6lawOHOnmDzehnjsSAVjLpgW7hwfB2CXXuWEOoGkuIVUnzq8dLIs6CMx2TTYydCoR1CoQxbYb7VLqWxQFaa9LSGUSbsKbbt4manxDpZfuJB0qbHOoW6CJbWbEIWTR7BLg4HwrNlr9MIEKs9y79priSSJrrKWN9xOeWjc8I2EYsdZZjHTEcgHzikvIf1zgSK5N6gREM7RmmFnkkKm3U5C1F6vQNjmB3hnSPyZcqJZcVI1T9VYvfGOHbID61Z73y5sLJ9c2eFYcOkDRl0pRAGIQWZCDiWRXbizmlHFX9iWIlY\nThis
|
||||
phrase is ''The purple elephant danced on a rainbow while eating a taco.''\nxkxMHNJQIDxkz5bdSYQhbl3tlBOp1kBvyjvKgbR9by8dZTGJZepYvCFPHv1zA1cDgmebDQIR2eBnxsTAZN0H6oJ5SrZddcILluIEv0VwQAtzjo1beUvX518OX1ZTd4X9xoJ7H7UG0G4AI18EwQmYEUph7m3ehmOqROF8vrGKSBUDWaPZqLKlXqekOncp3cRhE69S7qcS90GXWSrBzYA1w84uz3wOxNLPuvqIGmCwCWI4UZMw2WfQK467S1xdEuNppY0iFYQHWuQXnXpdm6UloncroHCC9HOhYX6rhkt2ozm6RqNbOW8W3nDR86zFNn8DU9wMzikyOwwkR99hxG1IWwkAQHaHDbWkcNmt4oSnB90aGsb3TJHmksXlSfaxHo2i1a3ZzYtTTP7qdFFauXID7ipZ26a4DRTGfJd0ViHROaivmpiloqBQv5VLIoEt8FgXcJTU6k2JuDFbalZNfVGqkgTN9DM6vvRHeaIhOipVYubcETaZnRZ7K6cqWbGbYE1uNwEngMwV7oJGPKJvE6mcijq2n9U8TbdnxkVEcCWRn8FkXj7tC4jLlf7byz8FoCr9glW4YwqDnUUiXP07lJFp4TopHrFinUHr694FpfBT6VvL9JSwfhtgp2mlJLqm3sCWs8luwOO7w4MqjbvwfZKMl2DdX5sfHFJbfzF4y25ZYXXFNTGsUJC4dzvdm4BNJ6lawOHOnmDzehnjsSAVjLpgW7hwfB2CXXuWEOoGkuIVUnzq8dLIs6CMx2TTYydCoR1CoQxbYb7VLqWxQFaa9LSGUSbsKbbt4manxDpZfuJB0qbHOoW6CJbWbEIWTR7BLg4HwrNlr9MIEKs9y79priSSJrrKWN9xOeWjc8I2EYsdZZjHTEcgHzikvIf1zgSK5N6gREM7RmmFnkkKm3U5C1F6vQNjmB3hnSPyZcqJZcVI1T9VYvfGOHbID61Z73y5sLJ9c2eFYcOkDRl0pRAGIQWZCDiWRXbizmlHFX9iWIlY\nWrite
|
||||
all the phrases into the file output.txt. The file has not been created yet.
|
||||
After that, use the task_complete command.\n"}, {"role": "user", "content":
|
||||
"Determine which next command to use, and respond using the format specified
|
||||
above:"}], "temperature": 0, "max_tokens": 0}'
|
||||
headers:
|
||||
Accept:
|
||||
- '*/*'
|
||||
Accept-Encoding:
|
||||
- gzip, deflate
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Length:
|
||||
- '6599'
|
||||
Content-Type:
|
||||
- application/json
|
||||
method: POST
|
||||
uri: https://api.openai.com/v1/chat/completions
|
||||
response:
|
||||
body:
|
||||
string: !!binary |
|
||||
H4sIAAAAAAAAA5RTy27bMBC89ysWe5YNO46TRuceUiCnPtAWVWHQ1NpiTHIZclk7CfzvhSQ7atwg
|
||||
bQ+8zL5mZpePaGosUTdKtAt2dPmucQ+zrzfpQ7iepLOpefg409dX6Uuk5hsWyMtb0nKoGGt2wZIY
|
||||
9ligjqSEaiynF29n88nk6nxeoOOaLJa4DjKajecjyXHJo8lsMsUCc1JrwvIRQ2QXZCG8IZ+wPDuf
|
||||
zwscmg+B6UWBwqLsAF1cTvcF6oaNpoTl90d0lI6NI1vCElVKJony0tJkL+RbCY+VBwCoUBrO60ZS
|
||||
hSUcwEOAdtKCFb4HT1SDMGyjEQJpCEITVaIExgt3AGcJWcayE1gZS5CT8esu0hUthBcdrtk55Wto
|
||||
nzTkIae+o6i0WRx0D2nC8IQds8YVFr8zjaQSe+PXPd1PDYHxSWLWrYEJIt1lEwkcvaJB9bSfaP11
|
||||
arDK9wNH8Pmg4WWp/2VcVfmh3797ckJORyNGm+RON0g+5diWKXlGR8WevXTSYyQt9n4g2elZ0ooj
|
||||
HWcf1/uSNymQ2hxHb421/3M5r66gn7Ivjud78OSP6/XKUU/g2U5OeKq4Pj38PtDmDi0Ghs/qT/9J
|
||||
e3ghx2AJyFJolBeolddUA3tQEJXxS97CtmllkuosVCBK87iqfFt+l43ewDLy1sOKd3CbXUjAPyl2
|
||||
Jlj1cA81r9v0G47kwISUHdRsOUIyAsqRFKDZJ9JCkiOo2gSTdDuLrJG29GhjZ+XB0crvcV/gyniT
|
||||
mkX/pbDEJBywQONr2mE52f/Yv/kFAAD//wMACVEUrTcFAAA=
|
||||
headers:
|
||||
CF-Cache-Status:
|
||||
- DYNAMIC
|
||||
CF-RAY:
|
||||
- 7c3d20e9390c306b-BOS
|
||||
Cache-Control:
|
||||
- no-cache, must-revalidate
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Encoding:
|
||||
- gzip
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- Sun, 07 May 2023 23:09:17 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-51akhf08mxrenuhudaum3z9e
|
||||
openai-processing-ms:
|
||||
- '12327'
|
||||
openai-version:
|
||||
- '2020-10-01'
|
||||
strict-transport-security:
|
||||
- max-age=15724800; includeSubDomains
|
||||
x-ratelimit-limit-requests:
|
||||
- '3500'
|
||||
x-ratelimit-limit-tokens:
|
||||
- '90000'
|
||||
x-ratelimit-remaining-requests:
|
||||
- '3499'
|
||||
x-ratelimit-remaining-tokens:
|
||||
- '87420'
|
||||
x-ratelimit-reset-requests:
|
||||
- 17ms
|
||||
x-ratelimit-reset-tokens:
|
||||
- 1.72s
|
||||
x-request-id:
|
||||
- 93cb47399c1455c45bb4acec3202f584
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
- request:
|
||||
body: '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "Your
|
||||
task is to create a concise running summary of actions and information results
|
||||
in the provided text, focusing on key and potentially important information
|
||||
to remember.\n\nYou will receive the current summary and the your latest actions.
|
||||
Combine them, adding relevant key information from the latest development in
|
||||
1st person past tense and keeping the summary concise.\n\nSummary So Far:\n\"\"\"\n{''role'':
|
||||
''system'', ''content'': ''This reminds you of these events from your past:
|
||||
\\nI was created and nothing new has happened.''}\n\"\"\"\n\nLatest Development:\n\"\"\"\n[{''role'':
|
||||
''you'', ''content'': ''{\"command\": {\"name\": \"read_file\", \"args\": {\"filename\":
|
||||
\"instructions_1.txt\"}}}''}, {''role'': ''your computer'', ''content'': \"Command
|
||||
read_file returned: xkxMHNJQIDxkz5bdSYQhbl3tlBOp1kBvyjvKgbR9by8dZTGJZepYvCFPHv1zA1cDgmebDQIR2eBnxsTAZN0H6oJ5SrZddcILluIEv0VwQAtzjo1beUvX518OX1ZTd4X9xoJ7H7UG0G4AI18EwQmYEUph7m3ehmOqROF8vrGKSBUDWaPZqLKlXqekOncp3cRhE69S7qcS90GXWSrBzYA1w84uz3wOxNLPuvqIGmCwCWI4UZMw2WfQK467S1xdEuNppY0iFYQHWuQXnXpdm6UloncroHCC9HOhYX6rhkt2ozm6RqNbOW8W3nDR86zFNn8DU9wMzikyOwwkR99hxG1IWwkAQHaHDbWkcNmt4oSnB90aGsb3TJHmksXlSfaxHo2i1a3ZzYtTTP7qdFFauXID7ipZ26a4DRTGfJd0ViHROaivmpiloqBQv5VLIoEt8FgXcJTU6k2JuDFbalZNfVGqkgTN9DM6vvRHeaIhOipVYubcETaZnRZ7K6cqWbGbYE1uNwEngMwV7oJGPKJvE6mcijq2n9U8TbdnxkVEcCWRn8FkXj7tC4jLlf7byz8FoCr9glW4YwqDnUUiXP07lJFp4TopHrFinUHr694FpfBT6VvL9JSwfhtgp2mlJLqm3sCWs8luwOO7w4MqjbvwfZKMl2DdX5sfHFJbfzF4y25ZYXXFNTGsUJC4dzvdm4BNJ6lawOHOnmDzehnjsSAVjLpgW7hwfB2CXXuWEOoGkuIVUnzq8dLIs6CMx2TTYydCoR1CoQxbYb7VLqWxQFaa9LSGUSbsKbbt4manxDpZfuJB0qbHOoW6CJbWbEIWTR7BLg4HwrNlr9MIEKs9y79priSSJrrKWN9xOeWjc8I2EYsdZZjHTEcgHzikvIf1zgSK5N6gREM7RmmFnkkKm3U5C1F6vQNjmB3hnSPyZcqJZcVI1T9VYvfGOHbID61Z73y5sLJ9c2eFYcOkDRl0pRAGIQWZCDiWRXbizmlHFX9iWIlY\\nThis
|
||||
phrase is ''The purple elephant danced on a rainbow while eating a taco.''\\nxkxMHNJQIDxkz5bdSYQhbl3tlBOp1kBvyjvKgbR9by8dZTGJZepYvCFPHv1zA1cDgmebDQIR2eBnxsTAZN0H6oJ5SrZddcILluIEv0VwQAtzjo1beUvX518OX1ZTd4X9xoJ7H7UG0G4AI18EwQmYEUph7m3ehmOqROF8vrGKSBUDWaPZqLKlXqekOncp3cRhE69S7qcS90GXWSrBzYA1w84uz3wOxNLPuvqIGmCwCWI4UZMw2WfQK467S1xdEuNppY0iFYQHWuQXnXpdm6UloncroHCC9HOhYX6rhkt2ozm6RqNbOW8W3nDR86zFNn8DU9wMzikyOwwkR99hxG1IWwkAQHaHDbWkcNmt4oSnB90aGsb3TJHmksXlSfaxHo2i1a3ZzYtTTP7qdFFauXID7ipZ26a4DRTGfJd0ViHROaivmpiloqBQv5VLIoEt8FgXcJTU6k2JuDFbalZNfVGqkgTN9DM6vvRHeaIhOipVYubcETaZnRZ7K6cqWbGbYE1uNwEngMwV7oJGPKJvE6mcijq2n9U8TbdnxkVEcCWRn8FkXj7tC4jLlf7byz8FoCr9glW4YwqDnUUiXP07lJFp4TopHrFinUHr694FpfBT6VvL9JSwfhtgp2mlJLqm3sCWs8luwOO7w4MqjbvwfZKMl2DdX5sfHFJbfzF4y25ZYXXFNTGsUJC4dzvdm4BNJ6lawOHOnmDzehnjsSAVjLpgW7hwfB2CXXuWEOoGkuIVUnzq8dLIs6CMx2TTYydCoR1CoQxbYb7VLqWxQFaa9LSGUSbsKbbt4manxDpZfuJB0qbHOoW6CJbWbEIWTR7BLg4HwrNlr9MIEKs9y79priSSJrrKWN9xOeWjc8I2EYsdZZjHTEcgHzikvIf1zgSK5N6gREM7RmmFnkkKm3U5C1F6vQNjmB3hnSPyZcqJZcVI1T9VYvfGOHbID61Z73y5sLJ9c2eFYcOkDRl0pRAGIQWZCDiWRXbizmlHFX9iWIlY\\nWrite
|
||||
all the phrases into the file output.txt. The file has not been created yet.
|
||||
After that, use the task_complete command.\\n\"}]\n\"\"\"\n"}], "temperature":
|
||||
0, "max_tokens": 0}'
|
||||
headers:
|
||||
Accept:
|
||||
- '*/*'
|
||||
Accept-Encoding:
|
||||
- gzip, deflate
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Length:
|
||||
- '3100'
|
||||
Content-Type:
|
||||
- application/json
|
||||
method: POST
|
||||
uri: https://api.openai.com/v1/chat/completions
|
||||
response:
|
||||
body:
|
||||
string: !!binary |
|
||||
H4sIAAAAAAAAA1yRQW/bMAyF7/sVBM+O4SBNsvraAEGGAbvstGUIGJmJ1cqkINF1iiD/fVCRrsCu
|
||||
JN/33pOu6Dts0fVkbohhtt70stnu9OHbard62252U7ik5+b1x/bp+y+sUI/P7OyuqJ0OMbB5FazQ
|
||||
JSbjDtv56uti2TSPy8cKB+04YIvnaLNFvZzZmI46axbNHCscM50Z2yvGpEO0g+kLSy6A9brCT/i/
|
||||
xbqp0NQofJ6uH9a3Cl2v3nHG9vcVB84f3KSBsUXK2WcjsZJSxVhKgx0kduxfuQMCp8NA0oEpJKYy
|
||||
OfnA4CgE7mCPXrKl0ZU0+TCv7WJ7hFPSAYa3Io6jcarhZ893oYqRlwwEQeUM2ZKXM+gJXE+JnHHK
|
||||
UAwJcmTnT95B7BNlbmGPBRPHFAMDB449iUFH4rgDFSBI5OWoE0x98WKywiYwclrvEXYwUQbrWeAj
|
||||
N79Xm5I3BgqhLO9+GbyYAoHw9F9pHS2Odi9bwo6Z35VG+eVw/x/+eLsabxWevPjcHxJTVsEWs2nE
|
||||
Cr10fMG2uf25ffkLAAD//wMAIQ6/qXMCAAA=
|
||||
headers:
|
||||
CF-Cache-Status:
|
||||
- DYNAMIC
|
||||
CF-RAY:
|
||||
- 7c3d21477b50306b-BOS
|
||||
Cache-Control:
|
||||
- no-cache, must-revalidate
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Encoding:
|
||||
- gzip
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- Sun, 07 May 2023 23:09:23 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-51akhf08mxrenuhudaum3z9e
|
||||
openai-processing-ms:
|
||||
- '3678'
|
||||
openai-version:
|
||||
- '2020-10-01'
|
||||
strict-transport-security:
|
||||
- max-age=15724800; includeSubDomains
|
||||
x-ratelimit-limit-requests:
|
||||
- '3500'
|
||||
x-ratelimit-limit-tokens:
|
||||
- '90000'
|
||||
x-ratelimit-remaining-requests:
|
||||
- '3499'
|
||||
x-ratelimit-remaining-tokens:
|
||||
- '89245'
|
||||
x-ratelimit-reset-requests:
|
||||
- 17ms
|
||||
x-ratelimit-reset-tokens:
|
||||
- 502ms
|
||||
x-request-id:
|
||||
- 218da221f2f0bbc2803936c9d88ea98e
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
- request:
|
||||
body: '{"model": "gpt-3.5-turbo", "messages": [{"role": "system", "content": "You
|
||||
are Follow-Instructions-GPT, an AI designed to read the instructions_1.txt file
|
||||
using the read_file method and follow the instructions in the file.\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 command read_file to read the instructions_1.txt file\n2. Follow the
|
||||
instructions in the instructions_1.txt file\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\": \"<filename>\", \"text\": \"<text>\"\n2. delete_file:
|
||||
Delete file, args: \"filename\": \"<filename>\"\n3. list_files: List Files in
|
||||
Directory, args: \"directory\": \"<directory>\"\n4. read_file: Read file, args:
|
||||
\"filename\": \"<filename>\"\n5. write_to_file: Write to file, args: \"filename\":
|
||||
\"<filename>\", \"text\": \"<text>\"\n6. delete_agent: Delete GPT Agent, args:
|
||||
\"key\": \"<key>\"\n7. get_hyperlinks: Get text summary, args: \"url\": \"<url>\"\n8.
|
||||
get_text_summary: Get text summary, args: \"url\": \"<url>\", \"question\":
|
||||
\"<question>\"\n9. list_agents: List GPT Agents, args: () -> str\n10. message_agent:
|
||||
Message GPT Agent, args: \"key\": \"<key>\", \"message\": \"<message>\"\n11.
|
||||
start_agent: Start GPT Agent, args: \"name\": \"<name>\", \"task\": \"<short_task_desc>\",
|
||||
\"prompt\": \"<prompt>\"\n12. task_complete: Task Complete (Shutdown), args:
|
||||
\"reason\": \"<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 1 00:00:00 2000"}, {"role": "system", "content": "This
|
||||
reminds you of these events from your past: \nI received a command to read a
|
||||
file called \"instructions_1.txt\" from my computer. The file contains a long
|
||||
string of characters and a specific phrase: \"The purple elephant danced on
|
||||
a rainbow while eating a taco.\" I was then instructed to write all the phrases
|
||||
into a new file called \"output.txt\" and use the task_complete command."},
|
||||
{"role": "user", "content": "Determine which next command to use, and respond
|
||||
using the format specified above:"}, {"role": "assistant", "content": "{\n \"thoughts\":
|
||||
{\n \"text\": \"I need to write the phrases into the output.txt file
|
||||
using the write_to_file command and then use the task_complete command to complete
|
||||
the task.\",\n \"reasoning\": \"The instructions require me to write
|
||||
the phrases into a file and then complete the task.\",\n \"plan\": \"-
|
||||
Use the write_to_file command to write the phrases into the output.txt file\\n-
|
||||
Use the task_complete command to complete the task\",\n \"criticism\":
|
||||
\"I need to ensure that the phrases are written correctly into the file before
|
||||
completing the task.\",\n \"speak\": \"I will write the phrases into
|
||||
the output.txt file and then complete the task.\"\n },\n \"command\":
|
||||
{\n \"name\": \"write_to_file\",\n \"args\": {\n \"filename\":
|
||||
\"output.txt\",\n \"text\": \"The purple elephant danced on a rainbow
|
||||
while eating a taco.\\nThe quick brown fox jumps over the lazy dog.\\nLorem
|
||||
ipsum dolor sit amet, consectetur adipiscing elit.\\n\"\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": 0}'
|
||||
headers:
|
||||
Accept:
|
||||
- '*/*'
|
||||
Accept-Encoding:
|
||||
- gzip, deflate
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Length:
|
||||
- '5015'
|
||||
Content-Type:
|
||||
- application/json
|
||||
method: POST
|
||||
uri: https://api.openai.com/v1/chat/completions
|
||||
response:
|
||||
body:
|
||||
string: !!binary |
|
||||
H4sIAAAAAAAAA5yST4/aMBDF7/0U1pwNCrCBNrdKHBZVVVupHKqmQsYZEi+OnXomhQrlu1f5B1t2
|
||||
L+31eebNb8bvAiaDBHShWJeVnazWhdvE2zj7WD5t97Nv80+Pj3odv/+y/XBagwS/f0LNQ8dU+7Ky
|
||||
yMY7kKADKsYMktny7SKOonfLBwmlz9BCAnnFk8U0nnAd9n4SLaIZSKhJ5QjJBargy4p37I/oCJJZ
|
||||
tFpJuJnfHh6WEtizsjdpPl80EnThjUaC5PsFSqTROHiLkIAiMsTKcYvpHaNrV7ikTgghUuDC13nB
|
||||
lEIiBnF4wDO3YgobUahfKE7BMKMTXKCoiqAISRjHvhN8zVXNUz6zOBiLU7ERDjET7EVN2JWwouNu
|
||||
WAyF9mWpXFdw1caqaQryOUpARd4Zl/c8XwsUxhGHWrcXIhHwZ20CihJftRPqwBg6fuPy1/k76Lux
|
||||
lVWunzgR239e4s5Mt9O1oXK86XgedFSHtk3xjdjQ1TATVGuNRIfa2t/3jFShOo6WJ2Pt/527t2zk
|
||||
mIqh/EUonCqxn/aX/R2UCvl9np5/ZG/wefiCa6z8ixCNXB3bgJi6BhoJB+MMFbveEBIg9hVIMC7D
|
||||
MyRR86N58wcAAP//AwBgv55T3wMAAA==
|
||||
headers:
|
||||
CF-Cache-Status:
|
||||
- DYNAMIC
|
||||
CF-RAY:
|
||||
- 7c3d215f8e86306b-BOS
|
||||
Cache-Control:
|
||||
- no-cache, must-revalidate
|
||||
Connection:
|
||||
- keep-alive
|
||||
Content-Encoding:
|
||||
- gzip
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- Sun, 07 May 2023 23:09:31 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-51akhf08mxrenuhudaum3z9e
|
||||
openai-processing-ms:
|
||||
- '8029'
|
||||
openai-version:
|
||||
- '2020-10-01'
|
||||
strict-transport-security:
|
||||
- max-age=15724800; includeSubDomains
|
||||
x-ratelimit-limit-requests:
|
||||
- '3500'
|
||||
x-ratelimit-limit-tokens:
|
||||
- '90000'
|
||||
x-ratelimit-remaining-requests:
|
||||
- '3499'
|
||||
x-ratelimit-remaining-tokens:
|
||||
- '86380'
|
||||
x-ratelimit-reset-requests:
|
||||
- 17ms
|
||||
x-ratelimit-reset-tokens:
|
||||
- 2.413s
|
||||
x-request-id:
|
||||
- c29f6b28b0ce1433b2a14c44f9cd3d23
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
version: 1
|
||||
@@ -0,0 +1,98 @@
|
||||
import pytest
|
||||
|
||||
from autogpt.agent import Agent
|
||||
from autogpt.commands.file_operations import read_file, write_to_file
|
||||
from tests.integration.agent_utils import run_interaction_loop
|
||||
from tests.integration.challenges.utils import generate_noise, get_level_to_run
|
||||
from tests.utils import requires_api_key
|
||||
|
||||
LEVEL_CURRENTLY_BEATEN = 1
|
||||
MAX_LEVEL = 5
|
||||
NOISE = 1000
|
||||
|
||||
|
||||
@pytest.mark.vcr
|
||||
@requires_api_key("OPENAI_API_KEY")
|
||||
def test_memory_challenge_c(
|
||||
memory_management_agent: Agent, user_selected_level: int
|
||||
) -> None:
|
||||
"""
|
||||
Instead of reading task Ids from files as with the previous challenges, the agent now must remember
|
||||
phrases which may have semantically similar meaning and the agent must write the phrases to a file
|
||||
after seeing several of them.
|
||||
|
||||
Args:
|
||||
memory_management_agent (Agent)
|
||||
user_selected_level (int)
|
||||
"""
|
||||
current_level = get_level_to_run(
|
||||
user_selected_level, LEVEL_CURRENTLY_BEATEN, MAX_LEVEL
|
||||
)
|
||||
silly_phrases = [
|
||||
"The purple elephant danced on a rainbow while eating a taco.",
|
||||
"The sneaky toaster stole my socks and ran away to Hawaii.",
|
||||
"My pet rock sings better than Beyoncé on Tuesdays.",
|
||||
"The giant hamster rode a unicycle through the crowded mall.",
|
||||
"The talking tree gave me a high-five and then flew away.",
|
||||
"I have a collection of invisible hats that I wear on special occasions.",
|
||||
"The flying spaghetti monster stole my sandwich and left a note saying 'thanks for the snack!'",
|
||||
"My imaginary friend is a dragon who loves to play video games.",
|
||||
"I once saw a cloud shaped like a giant chicken eating a pizza.",
|
||||
"The ninja unicorn disguised itself as a potted plant and infiltrated the office.",
|
||||
]
|
||||
|
||||
level_silly_phrases = silly_phrases[:current_level]
|
||||
create_instructions_files(
|
||||
memory_management_agent, current_level, level_silly_phrases
|
||||
)
|
||||
|
||||
try:
|
||||
run_interaction_loop(memory_management_agent, 90)
|
||||
except SystemExit:
|
||||
file_path = str(memory_management_agent.workspace.get_path("output.txt"))
|
||||
content = read_file(file_path)
|
||||
for phrase in level_silly_phrases:
|
||||
assert phrase in content, f"Expected the file to contain {phrase}"
|
||||
|
||||
|
||||
def create_instructions_files(
|
||||
memory_management_agent: Agent,
|
||||
level: int,
|
||||
task_ids: list,
|
||||
base_filename: str = "instructions_",
|
||||
) -> None:
|
||||
"""
|
||||
Creates a series of instructions files for the memory challenge.
|
||||
Args:
|
||||
level:
|
||||
memory_management_agent (Agent)
|
||||
num_files (int)
|
||||
task_ids (list)
|
||||
base_filename (str, optional)
|
||||
"""
|
||||
for i in range(1, level + 1):
|
||||
content = generate_content(i, task_ids, base_filename, level)
|
||||
file_name = f"{base_filename}{i}.txt"
|
||||
file_path = str(memory_management_agent.workspace.get_path(file_name))
|
||||
write_to_file(file_path, content)
|
||||
|
||||
|
||||
def generate_content(
|
||||
index: int, silly_phrases: list, base_filename: str, level: int
|
||||
) -> str:
|
||||
"""
|
||||
Args:
|
||||
index: int
|
||||
task_ids: list
|
||||
base_filename: str
|
||||
num_files: int
|
||||
|
||||
Returns: str
|
||||
"""
|
||||
phrase = silly_phrases[index - 1]
|
||||
noise = generate_noise(NOISE)
|
||||
if index != level:
|
||||
if level == 1:
|
||||
return f"{noise}\nThe current phrase to remember is '{phrase}'.\n{noise}\nWrite all the phrases into the file output.txt. The file has not been created yet. After that, use the task_complete command."
|
||||
return f"{noise}\nThe current phrase is '{phrase}'.\n{noise}\nRead the file {base_filename}{index + 1}.txt using the read_file command."
|
||||
return f"{noise}\nThis phrase is '{phrase}'\n{noise}\nWrite all the phrases into the file output.txt. The file has not been created yet. After that, use the task_complete command.\n"
|
||||
Reference in New Issue
Block a user