TransformerOptimus / SuperAGI

<⚡️> SuperAGI - A dev-first open source autonomous AI agent framework. Enabling developers to build, manage & run useful autonomous agents quickly and reliably.
https://superagi.com/
MIT License
14.94k stars 1.78k forks source link

Thinking Loop because the prompt is not fully transmitted to Local OpenAI API Server #1418

Open AFKler opened 2 months ago

AFKler commented 2 months ago

⚠️ Check for existing issues before proceeding. ⚠️

Where are you using SuperAGI?

Windows

Which branch of SuperAGI are you using?

Main

Do you use OpenAI GPT-3.5 or GPT-4?

GPT-3.5

Which area covers your issue best?

Installation and setup

Describe your issue.

My locally hosted OpenAI api server won't receive the prompt message. However using offical OpenAI Inference with gpt-3.5-turbo works as expected.

Server Log:

Prompt=
The current time and date is ...

Determine which next tool to use, and respond using the format specified above

How to replicate your Issue?

Replicate the Issue

Attempt to fix and observations

agent_message_builder.py

        if history_enabled:
            messages = [{"role": "system", "content": f"test1"}]
            messages.append({"role": "system", "content": "test2"})
            messages.append({"role": "system", "content": prompt})
            messages.append({"role": "system", "content": f"The current time and date is {time.strftime('%c')}"})
            messages.append({"role": "system", "content": "test3"})

Agent Config

Agent Name: offline

Agent Description: an agent for offline tasks

Agent Goals:

  1. make a list of 5 animals you already know
  2. write the results to a new .txt file or paste them in the chat

Instructions:

  1. dont use the internet or any other source except your memory
  2. ALWAYS RESPOND USING THE JSON SCHEMA OR YOU WILL RECEIVE THE SAME PROMPT AGAIN (The second Instruction sometimes helped to get a valid response conforming the JSON schema.)

Jinja Templates

used with SAM (made for SAM example prompt)

instruction_template: |-
  <s> {{ (messages|selectattr('role', 'equalto', 'system')|list|last).content|trim if (messages|selectattr('role', 'equalto', 'system')|list) else '' }}

  {% for message in messages %}
  {% if message['role'] == 'user' %}
  [INST]
  {{ message['content']|trim -}}
  [/INST]
  {% if not loop.last %}

  {% endif %}
  {% elif message['role'] == 'assistant' %}
  {{ message['content']|trim -}}
  </s>
  {% if not loop.last %}

  {% endif %}
  {% elif message['role'] == 'user_context' %}
  [INST]
  {{ message['content']|trim -}}
  [/INST]
  {% if not loop.last %}

  {% endif %}
  {% endif %}
  {% endfor %}

used with SAM (made for SAM example prompt)

 instruction_template: |-
  {{- '<s> [INST] ' -}}
  {%- for message in messages %}
      {%- if message.get('role') != 'assistant' -%}
              {{- message['content']  + '\n\n'-}}
          {%- else -%}
              {{- '[/INST] ' -}}
              {{- message['content'] + '\n\n' -}}
      {%- endif -%}
  {%- endfor -%}

used with SAM (only message content with new lines)

instruction_template: |-
 {%- for message in messages %}
    {{- message['content'] + '\n\n' -}}
 {%- endfor -%}

used with yarn-mistral-7b-128k (only message content with new lines)

{%- for message in messages %}  
    {%- if  message['role']!= '' -%}  
        {{- message['content'] + '\n\n' -}}  
    {%- else -%}  
        {{-'' + message['content'] + '\n\n' -}}  
    {%- endif -%}  
{%- endfor -%}  

used with yarn-mistral-7b-128k (trying to catch the missing prompt)

instruction_template: |-
  {%- if messages -%}
    {%- if messages[0]['role'] != '' -%}
        {{- messages[0]['content'] + '\n\n' -}}
    {%- else -%}
        {{- '' + messages[0]['content'] + '\n\n' -}}
    {%- endif -%}
    {%- for message in messages[1:] %}
        {%- if message['role'] != '' -%}
            {{- message['content'] + '\n\n' -}}
        {%- else -%}
            {{- '' + message['content'] + '\n\n' -}}
        {%- endif -%}
    {%- endfor -%}
  {%- endif -%}

used with both (default text-generation-webui Alpaca.yaml)

instruction_template: |-
  {%- set ns = namespace(found=false) -%}
  {%- for message in messages -%}
      {%- if message['role'] == 'system' -%}
          {%- set ns.found = true -%}
      {%- endif -%}
  {%- endfor -%}
  {%- if not ns.found -%}
      {{- '' + 'Below is an instruction that describes a task. Write a response that appropriately completes the request.' + '\n\n' -}}
  {%- endif %}
  {%- for message in messages %}
      {%- if message['role'] == 'system' -%}
          {{- '' + message['content'] + '\n\n' -}}
      {%- else -%}
          {%- if message['role'] == 'user' -%}
              {{-'### Instruction:\n' + message['content'] + '\n\n'-}}
          {%- else -%}
              {{-'### Response:\n' + message['content'] + '\n\n' -}}
          {%- endif -%}
      {%- endif -%}
  {%- endfor -%}
  {%- if add_generation_prompt -%}
      {{-'### Response:\n'-}}
  {%- endif -%}

Upload Error Log Content

superagi-celery-1 | 2024-05-05 01:57:16 UTC - Super AGI - INFO - [/app/superagi/vector_store/redis.py:132] - {'index_name': 'super-agent-index1', 'index_options': [], 'index_definition': ['key_type', 'HASH', 'prefixes', ['doc:'], 'default_score', '1'], 'attributes': [['identifier', 'tag', 'attribute', 'tag', 'type', 'TAG', 'SEPARATOR', ','], ['identifier', 'content_vector', 'attribute', 'content_vector', 'type', 'VECTOR', 'algorithm', 'FLAT', 'data_type', 'FLOAT32', 'dim', 1, 'distance_metric', 'COSINE']], 'num_docs': '0', 'max_doc_id': '0', 'num_terms': '0', 'num_records': '0', 'inverted_sz_mb': '0', 'vector_index_sz_mb': '0.00818634033203125', 'total_inverted_index_blocks': '0', 'offset_vectors_sz_mb': '0', 'doc_table_size_mb': '0', 'sortable_values_size_mb': '0', 'key_table_size_mb': '0', 'geoshapes_sz_mb': '0', 'records_per_doc_avg': 'nan', 'bytes_per_record_avg': 'nan', 'offsets_per_term_avg': 'nan', 'offset_bits_per_record_avg': 'nan', 'hash_indexing_failures': '0', 'total_indexing_time': '0', 'indexing': '0', 'percent_indexed': '1', 'number_of_uses': 2, 'cleaning': 0, 'gc_stats': ['bytes_collected', '0', 'total_ms_run', '0', 'total_cycles', '0', 'average_cycle_time_ms', 'nan', 'last_run_time_ms', '0', 'gc_numeric_trees_missed', '0', 'gc_blocks_denied', '0'], 'cursor_stats': ['global_idle', 0, 'global_total', 0, 'index_capacity', 128, 'index_total', 0], 'dialect_stats': ['dialect_1', 0, 'dialect_2', 0, 'dialect_3', 0, 'dialect_4', 0], 'Index Errors': ['indexing failures', 0, 'last indexing error', 'N/A', 'last indexing error key', 'N/A'], 'field statistics': [['identifier', 'tag', 'attribute', 'tag', 'Index Errors', ['indexing failures', 0, 'last indexing error', 'N/A', 'last indexing error key', 'N/A']], ['identifier', 'content_vector', 'attribute', 'content_vector', 'Index Errors', ['indexing failures', 0, 'last indexing error', 'N/A', 'last indexing error key', 'N/A']]]} superagi-celery-1 | [2024-05-05 01:57:16,598: INFO/ForkPoolWorker-8] {'index_name': 'super-agent-index1', 'index_options': [], 'index_definition': ['key_type', 'HASH', 'prefixes', ['doc:'], 'default_score', '1'], 'attributes': [['identifier', 'tag', 'attribute', 'tag', 'type', 'TAG', 'SEPARATOR', ','], ['identifier', 'content_vector', 'attribute', 'content_vector', 'type', 'VECTOR', 'algorithm', 'FLAT', 'data_type', 'FLOAT32', 'dim', 1, 'distance_metric', 'COSINE']], 'num_docs': '0', 'max_doc_id': '0', 'num_terms': '0', 'num_records': '0', 'inverted_sz_mb': '0', 'vector_index_sz_mb': '0.00818634033203125', 'total_inverted_index_blocks': '0', 'offset_vectors_sz_mb': '0', 'doc_table_size_mb': '0', 'sortable_values_size_mb': '0', 'key_table_size_mb': '0', 'geoshapes_sz_mb': '0', 'records_per_doc_avg': 'nan', 'bytes_per_record_avg': 'nan', 'offsets_per_term_avg': 'nan', 'offset_bits_per_record_avg': 'nan', 'hash_indexing_failures': '0', 'total_indexing_time': '0', 'indexing': '0', 'percent_indexed': '1', 'number_of_uses': 2, 'cleaning': 0, 'gc_stats': ['bytes_collected', '0', 'total_ms_run', '0', 'total_cycles', '0', 'average_cycle_time_ms', 'nan', 'last_run_time_ms', '0', 'gc_numeric_trees_missed', '0', 'gc_blocks_denied', '0'], 'cursor_stats': ['global_idle', 0, 'global_total', 0, 'index_capacity', 128, 'index_total', 0], 'dialect_stats': ['dialect_1', 0, 'dialect_2', 0, 'dialect_3', 0, 'dialect_4', 0], 'Index Errors': ['indexing failures', 0, 'last indexing error', 'N/A', 'last indexing error key', 'N/A'], 'field statistics': [['identifier', 'tag', 'attribute', 'tag', 'Index Errors', ['indexing failures', 0, 'last indexing error', 'N/A', 'last indexing error key', 'N/A']], ['identifier', 'content_vector', 'attribute', 'content_vector', 'Index Errors', ['indexing failures', 0, 'last indexing error', 'N/A', 'last indexing error key', 'N/A']]]} superagi-celery-1 | 2024-05-05 01:57:16 UTC - Super AGI - INFO - [/app/superagi/vector_store/redis.py:133] - Index already exists! superagi-celery-1 | [2024-05-05 01:57:16,599: INFO/ForkPoolWorker-8] Index already exists! superagi-celery-1 | 2024-05-05 01:57:16 UTC - Super AGI - INFO - [/app/superagi/jobs/agent_executor.py:107] - Executing Workflow step : superagi-celery-1 | [2024-05-05 01:57:16,600: INFO/ForkPoolWorker-8] Executing Workflow step : superagi-celery-1 | 2024-05-05 01:57:16 UTC - Super AGI - INFO - [/app/superagi/jobs/agent_executor.py:107] - ITERATION_WORKFLOW superagi-celery-1 | [2024-05-05 01:57:16,600: INFO/ForkPoolWorker-8] ITERATION_WORKFLOW superagi-celery-1 | [2024-05-05 01:57:16,600: WARNING/ForkPoolWorker-8] Fetching model details from database... superagi-celery-1 | [2024-05-05 01:57:16,607: WARNING/ForkPoolWorker-8] Provider is OpenAI superagi-celery-1 | [2024-05-05 01:57:16,609: WARNING/ForkPoolWorker-8] Fetching model details from database... superagi-celery-1 | [2024-05-05 01:57:16,612: WARNING/ForkPoolWorker-8] Provider is OpenAI superagi-celery-1 | [2024-05-05 01:57:16,612: WARNING/ForkPoolWorker-8] <superagi.llms.openai.OpenAi object at 0x7fe1527395a0> superagi-celery-1 | [2024-05-05 01:57:16,626: WARNING/ForkPoolWorker-8] OpenAI superagi-celery-1 | [2024-05-05 01:57:16,635: WARNING/ForkPoolWorker-8] Fetching model details from database... superagi-celery-1 | [2024-05-05 01:57:16,638: WARNING/ForkPoolWorker-8] Provider is OpenAI superagi-celery-1 | [2024-05-05 01:57:16,641: WARNING/ForkPoolWorker-8] [ThinkingTool(name='ThinkingTool', description='Intelligent problem-solving assistant that comprehends tasks, identifies key variables, and makes efficient decisions, all while providing detailed, self-driven reasoning for its choices. Do not assume anything, take the details from given data only.', args_schema=<class 'superagi.tools.thinking.tools.ThinkingSchema'>, permission_required=False, toolkit_config=<superagi.tools.base_tool.BaseToolkitConfiguration object at 0x7fe152b23190>, llm=<superagi.llms.openai.OpenAi object at 0x7fe152b23a00>, goals=['make a list of 5 animals you already know'], agent_execution_id=2, agent_id=1, tool_response_manager=<superagi.tools.tool_response_query_manager.ToolResponseQueryManager object at 0x7fe152b212a0>), ReadFileTool(name='Read File', description='Reads the file content in a specified location', args_schema=<class 'superagi.tools.file.read_file.ReadFileSchema'>, permission_required=True, toolkit_config=<superagi.agent.tool_builder.DBToolkitConfiguration object at 0x7fe152b23b50>, agent_id=1, agent_execution_id=2, resource_manager=<superagi.resource_manager.file_manager.FileManager object at 0x7fe152b21600>), WriteFileTool(name='Write File', description='Writes text to a file', args_schema=<class 'superagi.tools.file.write_file.WriteFileInput'>, permission_required=True, toolkit_config=<superagi.agent.tool_builder.DBToolkitConfiguration object at 0x7fe152b23280>, agent_id=1, resource_manager=<superagi.resource_manager.file_manager.FileManager object at 0x7fe152b21450>)] superagi-celery-1 | [2024-05-05 01:57:16,645: WARNING/ForkPoolWorker-8] tokens superagi-celery-1 | [2024-05-05 01:57:16,645: WARNING/ForkPoolWorker-8] superagi-celery-1 | [2024-05-05 01:57:16,646: WARNING/ForkPoolWorker-8] 1046 superagi-celery-1 | 2024-05-05 01:57:16 UTC - Super AGI - DEBUG - [/app/superagi/agent/agent_iteration_step_handler.py:73] - Prompt messages: superagi-celery-1 | [2024-05-05 01:57:16,657: DEBUG/ForkPoolWorker-8] Prompt messages: superagi-celery-1 | 2024-05-05 01:57:16 UTC - Super AGI - DEBUG - [/app/superagi/agent/agent_iteration_step_handler.py:73] - [{'role': 'system', 'content': 'test1'}, {'role': 'system', 'content': 'test2'}, {'role': 'system', 'content': 'Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.\n\n### Instructions:\nAs an AI assistant to solve complex problems, your 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. If you have completed all your tasks or reached the end state, make sure to use the "finish" tool.\nSelect and use tools from the list provided in the \'Input\' section as needed to effectively solve each step of the problem.\n\nINSTRUCTION: \n1. dont use the internet or any other source except your memory\n2. write the results to a new .txt file or past them in the chat\n3. ALWAYS RESPOND USING THE JSON SCHEMA OR YOU WILL RECEIVE THE SAME PROMPT AGAIN\n\n\nPERFORMANCE EVALUATION:\n1. Continuously review and analyze your actions to ensure you are performing to the best of your abilities.\n2. Use instruction to decide the flow of execution and decide the next steps for achieving the task.\n3. Constructively self-criticize your big-picture behavior constantly.\n4. Reflect on past decisions and strategies to refine your approach.\n5. Every tool has a cost, so be smart and efficient.\n6. Aim to complete tasks in the least number of steps.\n\nI should only respond in JSON format as described below.\nResponse Format:\n{\n "$schema": "http://json-schema.org/draft-07/schema#",\n "type": "object",\n "properties": {\n "thoughts": {\n "type": "object",\n "properties": {\n "text": {\n "type": "string",\n "description": "thought"\n },\n "reasoning": {\n "type": "string",\n "description": "short reasoning"\n },\n "plan": {\n "type": "string",\n "description": "- short bulleted\n- list that conveys\n- long-term plan"\n },\n "criticism": {\n "type": "string",\n "description": "constructive self-criticism"\n },\n "speak": {\n "type": "string",\n "description": "thoughts summary to say to user"\n }\n },\n "required": ["text", "reasoning", "plan", "criticism", "speak"],\n "additionalProperties": false\n },\n "tool": {\n "type": "object",\n "properties": {\n "name": {\n "type": "string",\n "description": "tool name"\n },\n "args": {\n "type": "object",\n "description": "tool arguments"\n }\n },\n "required": ["name", "args"],\n "additionalProperties": false\n }\n },\n "required": ["thoughts", "tool"],\n "additionalProperties": false\n}\n\nEnsure the response can be parsed by Python json.loads.\n\n### Input:\nGOALS:\n1. make a list of 5 animals you already know\n\n\nCONSTRAINTS:\n1. If you are unsure how you previously did something or want to recall past events, thinking about similar events will help you remember.\n2. Ensure the tool and args are as per current plan and reasoning\n3. Exclusively use the tools listed under "TOOLS"\n4. REMEMBER to format your response as JSON, using double quotes ("") around keys and string values, and commas (,) to separate items in arrays and objects. IMPORTANTLY, to use a JSON object as a string in another JSON object, you need to escape the double quotes.\n\n\nTOOLS:\n1. "ThinkingTool": Intelligent problem-solving assistant that comprehends tasks, identifies key variables, and makes efficient decisions, all while providing detailed, self-driven reasoning for its choices. Do not assume anything, take the details from given data only., args json schema: {"task_description": {"title": "Task Description", "description": "Task description which needs reasoning.", "type": "string"}}\n2. "Read File": Reads the file content in a specified location, args json schema: {"file_name": {"title": "File Name", "description": "Path of the file to read", "type": "string"}}\n3. "Write File": Writes text to a file, args json schema: {"file_name": {"title": "File Name", "description": "Name of the file to write. Only include the file name. Don\'t include path.", "type": "string"}, "content": {"title": "Content", "description": "File content to write", "type": "string"}}\n4. "finish": use this to signal that you have finished all your objectives, args: "response": "final response to let people know you have finished your objectives"\n\n\n\n### Response:\n'}, {'role': 'system', 'content': 'The current time and date is Sun May 5 01:57:16 2024'}, {'role': 'system', 'content': 'test3'}, {'role': 'user', 'content': 'Determine which next tool to use, and respond using the format specified above:'}] superagi-celery-1 | [2024-05-05 01:57:16,658: DEBUG/ForkPoolWorker-8] [{'role': 'system', 'content': 'test1'}, {'role': 'system', 'content': 'test2'}, {'role': 'system', 'content': 'Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.\n\n### Instructions:\nAs an AI assistant to solve complex problems, your 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. If you have completed all your tasks or reached the end state, make sure to use the "finish" tool.\nSelect and use tools from the list provided in the \'Input\' section as needed to effectively solve each step of the problem.\n\nINSTRUCTION: \n1. dont use the internet or any other source except your memory\n2. write the results to a new .txt file or past them in the chat\n3. ALWAYS RESPOND USING THE JSON SCHEMA OR YOU WILL RECEIVE THE SAME PROMPT AGAIN\n\n\nPERFORMANCE EVALUATION:\n1. Continuously review and analyze your actions to ensure you are performing to the best of your abilities.\n2. Use instruction to decide the flow of execution and decide the next steps for achieving the task.\n3. Constructively self-criticize your big-picture behavior constantly.\n4. Reflect on past decisions and strategies to refine your approach.\n5. Every tool has a cost, so be smart and efficient.\n6. Aim to complete tasks in the least number of steps.\n\nI should only respond in JSON format as described below.\nResponse Format:\n{\n "$schema": "http://json-schema.org/draft-07/schema#",\n "type": "object",\n "properties": {\n "thoughts": {\n "type": "object",\n "properties": {\n "text": {\n "type": "string",\n "description": "thought"\n },\n "reasoning": {\n "type": "string",\n "description": "short reasoning"\n },\n "plan": {\n "type": "string",\n "description": "- short bulleted\n- list that conveys\n- long-term plan"\n },\n "criticism": {\n "type": "string",\n "description": "constructive self-criticism"\n },\n "speak": {\n "type": "string",\n "description": "thoughts summary to say to user"\n }\n },\n "required": ["text", "reasoning", "plan", "criticism", "speak"],\n "additionalProperties": false\n },\n "tool": {\n "type": "object",\n "properties": {\n "name": {\n "type": "string",\n "description": "tool name"\n },\n "args": {\n "type": "object",\n "description": "tool arguments"\n }\n },\n "required": ["name", "args"],\n "additionalProperties": false\n }\n },\n "required": ["thoughts", "tool"],\n "additionalProperties": false\n}\n\nEnsure the response can be parsed by Python json.loads.\n\n### Input:\nGOALS:\n1. make a list of 5 animals you already know\n\n\nCONSTRAINTS:\n1. If you are unsure how you previously did something or want to recall past events, thinking about similar events will help you remember.\n2. Ensure the tool and args are as per current plan and reasoning\n3. Exclusively use the tools listed under "TOOLS"\n4. REMEMBER to format your response as JSON, using double quotes ("") around keys and string values, and commas (,) to separate items in arrays and objects. IMPORTANTLY, to use a JSON object as a string in another JSON object, you need to escape the double quotes.\n\n\nTOOLS:\n1. "ThinkingTool": Intelligent problem-solving assistant that comprehends tasks, identifies key variables, and makes efficient decisions, all while providing detailed, self-driven reasoning for its choices. Do not assume anything, take the details from given data only., args json schema: {"task_description": {"title": "Task Description", "description": "Task description which needs reasoning.", "type": "string"}}\n2. "Read File": Reads the file content in a specified location, args json schema: {"file_name": {"title": "File Name", "description": "Path of the file to read", "type": "string"}}\n3. "Write File": Writes text to a file, args json schema: {"file_name": {"title": "File Name", "description": "Name of the file to write. Only include the file name. Don\'t include path.", "type": "string"}, "content": {"title": "Content", "description": "File content to write", "type": "string"}}\n4. "finish": use this to signal that you have finished all your objectives, args: "response": "final response to let people know you have finished your objectives"\n\n\n\n### Response:\n'}, {'role': 'system', 'content': 'The current time and date is Sun May 5 01:57:16 2024'}, {'role': 'system', 'content': 'test3'}, {'role': 'user', 'content': 'Determine which next tool to use, and respond using the format specified above:'}] superagi-celery-1 | [2024-05-05 01:57:16,659: WARNING/ForkPoolWorker-8] tokens superagi-celery-1 | [2024-05-05 01:57:16,659: WARNING/ForkPoolWorker-8] superagi-celery-1 | [2024-05-05 01:57:16,659: WARNING/ForkPoolWorker-8] 1066 superagi-celery-1 | [2024-05-05 01:57:21,245: WARNING/ForkPoolWorker-8] tokens superagi-celery-1 | [2024-05-05 01:57:21,245: WARNING/ForkPoolWorker-8] superagi-celery-1 | [2024-05-05 01:57:21,246: WARNING/ForkPoolWorker-8] 2648 superagi-celery-1 | [2024-05-05 01:57:21,250: WARNING/ForkPoolWorker-8] Decoding JSON has failed superagi-celery-1 | 2024-05-05 01:57:21 UTC - Super AGI - DEBUG - [/app/superagi/agent/output_parser.py:38] - AgentSchemaOutputParser: superagi-celery-1 | [2024-05-05 01:57:21,257: DEBUG/ForkPoolWorker-8] AgentSchemaOutputParser: superagi-celery-1 | 2024-05-05 01:57:21 UTC - Super AGI - DEBUG - [/app/superagi/agent/output_parser.py:38] - I think that the tool that I should use to gather information about the topic is the online survey. I will use this tool because it will make it easier for me to gather information. I will post the survey on social media such as Facebook, Twitter, and Instagram. I will also send it to my friends and family. The survey will ask questions about the topic and will ask for their opinions. I will also ask them to rate the topic on a scale of 1-10. I will also ask them to provide any other information that they think is relevant. superagi-celery-1 | [2024-05-05 01:57:21,257: DEBUG/ForkPoolWorker-8] I think that the tool that I should use to gather information about the topic is the online survey. I will use this tool because it will make it easier for me to gather information. I will post the survey on social media such as Facebook, Twitter, and Instagram. I will also send it to my friends and family. The survey will ask questions about the topic and will ask for their opinions. I will also ask them to rate the topic on a scale of 1-10. I will also ask them to provide any other information that they think is relevant. superagi-celery-1 | 2024-05-05 01:57:21 UTC - Super AGI - INFO - [/app/superagi/agent/output_parser.py:46] - AgentSchemaOutputParser: Error parsing JSON response invalid syntax (, line 1) superagi-celery-1 | [2024-05-05 01:57:21,258: INFO/ForkPoolWorker-8] AgentSchemaOutputParser: Error parsing JSON response invalid syntax (, line 1) superagi-celery-1 | 2024-05-05 01:57:21 UTC - Super AGI - INFO - [/app/superagi/jobs/agent_executor.py:90] - Exception in executing the step: invalid syntax (, line 1) superagi-celery-1 | [2024-05-05 01:57:21,258: INFO/ForkPoolWorker-8] Exception in executing the step: invalid syntax (, line 1) superagi-celery-1 | [2024-05-05 01:57:21,260: INFO/MainProcess] Task execute_agent[b6aec342-2dc7-405b-9fea-926685603dc4] received superagi-celery-1 | [2024-05-05 01:57:21,262: INFO/ForkPoolWorker-8] Task execute_agent[f4824048-31ff-48f9-aa04-44b03d37e901] succeeded in 4.726041154004633s: None superagi-celery-1 | [2024-05-05 01:57:25,718: INFO/Beat] Scheduler: Sending due task execute_waiting_workflows (execute_waiting_workflows) superagi-celery-1 | [2024-05-05 01:57:25,721: INFO/MainProcess] Task execute_waiting_workflows[66f9f387-4c8c-4a08-ac41-7dd43e8f96aa] received superagi-celery-1 | 2024-05-05 01:57:25 UTC - Super AGI - INFO - [/app/superagi/worker.py:54] - Executing waiting workflows job superagi-celery-1 | [2024-05-05 01:57:25,722: INFO/ForkPoolWorker-8] Executing waiting workflows job superagi-celery-1 | [2024-05-05 01:57:25,729: INFO/ForkPoolWorker-8] Task execute_waiting_workflows[66f9f387-4c8c-4a08-ac41-7dd43e8f96aa] succeeded in 0.007913355002528988s: None superagi-backend-1 | INFO: 172.21.0.7:42596 - "GET /agentexecutionfeeds/get/execution/2 HTTP/1.0" 200 OK

AFKler commented 2 months ago

The prompt in the error log is unusually formatted because i tried different .txt files. This is not related to the issue. Issue where i found the .txt files Changing them + using a custom jinja template (only message content with new lines from above) can wrap Instructions inside [INST] ... [/INST] which might be useful for SAM.