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

LLM and task_queue.py: redis.exceptions.DataError: Invalid input of type: 'list'. Convert to a bytes, string, int or float first. #386

Open atxcowboy opened 1 year ago

atxcowboy commented 1 year ago

When trying to use Oobabooga in the current codebase, I get:

superagi-celery-1           | Traceback (most recent call last):
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/celery/app/trace.py", line 451, in trace_task
superagi-celery-1           |     R = retval = fun(*args, **kwargs)
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/celery/app/trace.py", line 734, in __protected_call__
superagi-celery-1           |     return self.run(*args, **kwargs)
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/celery/app/autoretry.py", line 54, in run
superagi-celery-1           |     ret = task.retry(exc=exc, **retry_kwargs)
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/celery/app/task.py", line 717, in retry
superagi-celery-1           |     raise_with_context(exc)
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/celery/app/autoretry.py", line 34, in run
superagi-celery-1           |     return task._orig_run(*args, **kwargs)
superagi-celery-1           |   File "/app/superagi/worker.py", line 18, in execute_agent
superagi-celery-1           |     AgentExecutor().execute_next_action(agent_execution_id=agent_execution_id)
superagi-celery-1           |   File "/app/superagi/jobs/agent_executor.py", line 153, in execute_next_action
superagi-celery-1           |     response = spawned_agent.execute(agent_workflow_step)
superagi-celery-1           |   File "/app/superagi/agent/super_agi.py", line 196, in execute
superagi-celery-1           |     task_queue.add_task(task)
superagi-celery-1           |   File "/app/superagi/agent/task_queue.py", line 16, in add_task
superagi-celery-1           |     self.db.lpush(self.queue_name, task)
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/redis/commands/core.py", line 2706, in lpush
superagi-celery-1           |     return self.execute_command("LPUSH", name, *values)
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/redis/client.py", line 1269, in execute_command
superagi-celery-1           |     return conn.retry.call_with_retry(
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/redis/retry.py", line 46, in call_with_retry
superagi-celery-1           |     return do()
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/redis/client.py", line 1270, in <lambda>
superagi-celery-1           |     lambda: self._send_command_parse_response(
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/redis/client.py", line 1245, in _send_command_parse_response
superagi-celery-1           |     conn.send_command(*args)
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/redis/connection.py", line 848, in send_command
superagi-celery-1           |     self._command_packer.pack(*args),
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/redis/connection.py", line 558, in pack
superagi-celery-1           |     for arg in map(self.encode, args):
superagi-celery-1           |   File "/usr/local/lib/python3.9/site-packages/redis/connection.py", line 115, in encode
superagi-celery-1           |     raise DataError(
superagi-celery-1           | redis.exceptions.DataError: Invalid input of type: 'list'. Convert to a bytes, string, int or float first.

So I assume that the data being pushed onto the Redis coming from the LLM is invalid for the current task_queue.py and needs to be brought into a suitable form, i.e. serialized via json or pickle?

neelayan7 commented 1 year ago

@sirajperson can you please help with this?

sirajperson commented 1 year ago

@atxcowboy Are you still having this issue? Check out issue #542 if you are't or if you would like to discuss the functionality of using SuperAGI with TGWUI. I cannot reproduce the issue here.