Auto-GPT-Plugins
Auto-GPT-Plugins copied to clipboard
Plugins getting TypeError after update to AutoGPT 0.3.1
was working with 0.2.2 - updated to 0.3.1 and now getting errors in loading all plugins - did the plugin reinstall - but same issue - any body seeing this - sample from running AutoGPTEmailPlugin - but seems to be the same for all for me
Traceback (most recent call last):
File "/Users/david/opt/anaconda3/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/Users/david/opt/anaconda3/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/Users/david/Desktop/dkautogpt/Auto-GPT-latest/autogpt/main.py", line 5, in
same for AutoGPTApiTools File "/Users/david/opt/anaconda3/lib/python3.10/site-packages/abstract_singleton/init.py", line 14, in call cls._instances[cls] = super().call(*args, **kwargs) TypeError: Can't instantiate abstract class AutoGPTApiTools with abstract methods can_handle_report, can_handle_text_embedding, can_handle_user_input, handle_text_embedding, report, user_input
Have you tried:
pip install -r requirement.txt
python -m install-plugin-deps
It was working fine for me but after the update, I'm getting the same error "...TypeError: Can't instantiate abstract class AutoGPTApiTools with abstract methods can_handle_report, can_handle_text_embedding, can_handle_user_input, handle_text_embedding, report, user_input." I reinstalled the plugins but no go. Any ideas?
"I reinstalled the plugins but no go." Did you pull latest plugin folder from repo?
"Can't instantiate abstract class AutoGPTApiTools" Definitely a python issue, it's hard to tell without knowing more about your configuration but my general recommendation would be
Make sure you have the latest version of the Plugin repo Make sure you are running the AGPT stable branch after downloading plugin folder install dependencies <--install-plugin-deps>
getting the same error.
I executed ./run.sh --install-plugin-deps
and everything is fine
"TypeError: Can't instantiate abstract class AutoGPTApiTools with abstract methods can_handle_report, can_handle_text_embedding, can_handle_user_input, handle_text_embedding, report, user_input"
Might be related to this being merged into master? https://github.com/Significant-Gravitas/Auto-GPT/pull/4402/files
@Siivers I updated to the latest master - now on ##4482 - but I still get this
File "/Users/david/opt/anaconda3/lib/python3.10/site-packages/abstract_singleton/init.py", line 14, in call cls._instances[cls] = super().call(*args, **kwargs) TypeError: Can't instantiate abstract class AutoGPTEmailPlugin with abstract methods can_handle_report, can_handle_text_embedding, can_handle_user_input, handle_text_embedding, report, user_input
I also reinstalled the plugins code
I have the same issue, fresh install according to the manual
File "C:\Users\sd\AppData\Local\Programs\Python\Python311\Lib\site-packages\abstract_singleton_init_.py", line 14, in call cls._instances[cls] = super().call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: Can't instantiate abstract class AutoGPTApiTools with abstract methods can_handle_report, can_handle_text_embedding, can_handle_user_input, handle_text_embedding, report, user_input
Still The Issue persists in The Latest Stable release. I tried today
Did you use the latest versions of the plugins?
Yes i Did. It was a fresh install of the latest stable release of AutoGPT and installed the official plugins latest also.
Yup same here! Tried reinstalling everything from a scratch but problem still persists.
EDIT: 1st party plugins work just fine but 3rd party ones don't.
EDIT2: Found out that the 3rd party plugin I tried to use didn't have some defs set in the init python file. Set those and everything works and loads ok.
def can_handle_text_embedding(
self, text: str
) -> bool:
return False
def handle_text_embedding(
self, text: str
) -> list:
pass
def can_handle_user_input(self, user_input: str) -> bool:
return False
def user_input(self, user_input: str) -> str:
return user_input
def can_handle_report(self) -> bool:
return False
def report(self, message: str) -> None:
pass