techleadhd / chatgpt-retrieval

1.65k stars 786 forks source link

TypeError: issubclass() arg 1 must be a class #18

Open gitezri opened 11 months ago

gitezri commented 11 months ago

(myvenv)  ~/PROJECTS/chatgpt-retrieval   main ±  py chatgpt.py "what is my dog's name"
Traceback (most recent call last): File "/home/ezri/PROJECTS/chatgpt-retrieval/chatgpt.py", line 5, in from langchain.chains import ConversationalRetrievalChain, RetrievalQA File "/home/ezri/myvenv/lib/python3.11/site-packages/langchain/init.py", line 6, in from langchain.agents import MRKLChain, ReActChain, SelfAskWithSearchChain File "/home/ezri/myvenv/lib/python3.11/site-packages/langchain/agents/init.py", line 2, in from langchain.agents.agent import ( File "/home/ezri/myvenv/lib/python3.11/site-packages/langchain/agents/agent.py", line 16, in from langchain.agents.tools import InvalidTool File "/home/ezri/myvenv/lib/python3.11/site-packages/langchain/agents/tools.py", line 8, in from langchain.tools.base import BaseTool, Tool, tool File "/home/ezri/myvenv/lib/python3.11/site-packages/langchain/tools/init.py", line 3, in from langchain.tools.arxiv.tool import ArxivQueryRun File "/home/ezri/myvenv/lib/python3.11/site-packages/langchain/tools/arxiv/tool.py", line 12, in from langchain.utilities.arxiv import ArxivAPIWrapper File "/home/ezri/myvenv/lib/python3.11/site-packages/langchain/utilities/init.py", line 3, in from langchain.utilities.apify import ApifyWrapper File "/home/ezri/myvenv/lib/python3.11/site-packages/langchain/utilities/apify.py", line 5, in from langchain.document_loaders import ApifyDatasetLoader File "/home/ezri/myvenv/lib/python3.11/site-packages/langchain/document_loaders/init.py", line 44, in from langchain.document_loaders.embaas import EmbaasBlobLoader, EmbaasLoader File "/home/ezri/myvenv/lib/python3.11/site-packages/langchain/document_loaders/embaas.py", line 54, in class BaseEmbaasLoader(BaseModel): File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/main.py", line 204, in new fields[ann_name] = ModelField.infer( ^^^^^^^^^^^^^^^^^ File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/fields.py", line 488, in infer return cls( ^^^^ File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/fields.py", line 419, in init self.prepare() File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/fields.py", line 539, in prepare self.populate_validators() File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/fields.py", line 801, in populate_validators *(get_validators() if get_validators else list(findvalidators(self.type, self.model_config))), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/validators.py", line 696, in find_validators yield make_typeddictvalidator(type, config) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/validators.py", line 585, in make_typeddict_validator TypedDictModel = create_model_from_typeddict( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/annotated_types.py", line 35, in create_model_from_typeddict return create_model(typeddict_cls.name, kwargs, field_definitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/main.py", line 972, in create_model return type(model_name, base, namespace) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/main.py", line 204, in new fields[ann_name] = ModelField.infer( ^^^^^^^^^^^^^^^^^ File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/fields.py", line 488, in infer return cls( ^^^^ File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/fields.py", line 419, in init self.prepare() File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/fields.py", line 534, in prepare self._type_analysis() File "/home/ezri/myvenv/lib/python3.11/site-packages/pydantic/fields.py", line 638, in _type_analysis elif issubclass(origin, Tuple): # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/typing.py", line 1551, in subclasscheck return issubclass(cls, self.origin__) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: issubclass() arg 1 must be a class

dodsont commented 11 months ago

I am having this same issue as well.

iammac07 commented 11 months ago

i am also having the same issue.

BongeZagh commented 11 months ago

Here's the error I got, running on google colab.

 File "/content/chatgpt-retrieval/chatgpt.py", line 5, in <module>
    from langchain.chains import ConversationalRetrievalChain, RetrievalQA
  File "/usr/local/lib/python3.10/dist-packages/langchain/__init__.py", line 6, in <module>
    from langchain.agents import MRKLChain, ReActChain, SelfAskWithSearchChain
  File "/usr/local/lib/python3.10/dist-packages/langchain/agents/__init__.py", line 2, in <module>
    from langchain.agents.agent import (
  File "/usr/local/lib/python3.10/dist-packages/langchain/agents/agent.py", line 16, in <module>
    from langchain.agents.tools import InvalidTool
  File "/usr/local/lib/python3.10/dist-packages/langchain/agents/tools.py", line 8, in <module>
    from langchain.tools.base import BaseTool, Tool, tool
  File "/usr/local/lib/python3.10/dist-packages/langchain/tools/__init__.py", line 3, in <module>
    from langchain.tools.arxiv.tool import ArxivQueryRun
  File "/usr/local/lib/python3.10/dist-packages/langchain/tools/arxiv/tool.py", line 12, in <module>
    from langchain.utilities.arxiv import ArxivAPIWrapper
  File "/usr/local/lib/python3.10/dist-packages/langchain/utilities/__init__.py", line 3, in <module>
    from langchain.utilities.apify import ApifyWrapper
  File "/usr/local/lib/python3.10/dist-packages/langchain/utilities/apify.py", line 5, in <module>
    from langchain.document_loaders import ApifyDatasetLoader
  File "/usr/local/lib/python3.10/dist-packages/langchain/document_loaders/__init__.py", line 44, in <module>
    from langchain.document_loaders.embaas import EmbaasBlobLoader, EmbaasLoader
  File "/usr/local/lib/python3.10/dist-packages/langchain/document_loaders/embaas.py", line 54, in <module>
    class BaseEmbaasLoader(BaseModel):
  File "pydantic/main.py", line 204, in pydantic.main.ModelMetaclass.__new__
  File "pydantic/fields.py", line 488, in pydantic.fields.ModelField.infer
  File "pydantic/fields.py", line 419, in pydantic.fields.ModelField.__init__
  File "pydantic/fields.py", line 539, in pydantic.fields.ModelField.prepare
  File "pydantic/fields.py", line 801, in pydantic.fields.ModelField.populate_validators
  File "pydantic/validators.py", line 696, in find_validators
  File "pydantic/validators.py", line 585, in pydantic.validators.make_typeddict_validator
  File "pydantic/annotated_types.py", line 35, in pydantic.annotated_types.create_model_from_typeddict
  File "pydantic/main.py", line 972, in pydantic.main.create_model
  File "pydantic/main.py", line 204, in pydantic.main.ModelMetaclass.__new__
  File "pydantic/fields.py", line 488, in pydantic.fields.ModelField.infer
  File "pydantic/fields.py", line 419, in pydantic.fields.ModelField.__init__
  File "pydantic/fields.py", line 534, in pydantic.fields.ModelField.prepare
  File "pydantic/fields.py", line 638, in pydantic.fields.ModelField._type_analysis
  File "/usr/lib/python3.10/typing.py", line 1158, in __subclasscheck__
    return issubclass(cls, self.__origin__)
TypeError: issubclass() arg 1 must be a class”
matosinho commented 11 months ago

That is an issue of langchain dependency. You need to set some python dependancies to specific versions. Check it out the solution here: https://github.com/hwchase17/langchain/issues/7522#issuecomment-1630535191

iammac07 commented 11 months ago

install langchain ver 0.0190, it works for me pip install langchain==0.0.190

dodsont commented 11 months ago

Works now, without setting specific versions.