Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
1 task done
AFKler opened this issue May 5, 2024 · 1 comment
Open
1 task done

Comments

@AFKler
Copy link

AFKler commented May 5, 2024

⚠️ Check for existing issues before proceeding. ⚠️

  • I have searched the existing issues, and there is no existing issue for my problem

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

  • I've downloaded the main branch several times and ran multiple releases.

  • Added OPENAI_API_BASE in the config: http://host.docker.internal:8080/v1

  • Set up text-generation-webui and run the server like this:
    text-generation-webui\server.py --verbose --api --model-menu --nowebui
    (Lama.cpp and llama.cpp.python showed similar Agent behaviour but those offer no debugging option)

  • Test models using custom and Alpaca jinja templates:
    SuperAGI/SAM, TheBloke/yarn-mistral-7b-128k

Attempt to fix and observations

  • I've tried deleting everything from docker and also rearranged the code.

  • If i append the prompt variable to the message array again and add some test messages,
    there are always some messages missing in the final prompt received by the API Server.

  • Changing the messages.append order somehow affects which messages are received.

  • If the model doesn't respond in correct format, the prompt variable wont change to the tool output even if a tool is triggered!

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
Copy link
Author

AFKler commented May 5, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant