trafficstars
Hello,
I've been encountering an issue while running the startup.py script in my project. When I try to run the script with the command python startup.py "write a snake game", the script fails with the following traceback:
Traceback (most recent call last):
File "/home/lidenghui/MetaGPT/startup.py", line 5, in
from metagpt.software_company import SoftwareCompany
File "/home/lidenghui/MetaGPT/metagpt/software_company.py", line 11, in
from metagpt.actions import BossRequirement
File "/home/lidenghui/MetaGPT/metagpt/actions/init.py", line 14, in
from metagpt.actions.design_api import WriteDesign
File "/home/lidenghui/MetaGPT/metagpt/actions/design_api.py", line 13, in
from metagpt.utils.common import CodeParser
File "/home/lidenghui/MetaGPT/metagpt/utils/common.py", line 15, in
from langchain.schema import AgentAction, AgentFinish, OutputParserException
File "/home/lidenghui/lou/conda/envs/metagptenv/lib/python3.9/site-packages/langchain/init.py", line 6, in
from langchain.agents import MRKLChain, ReActChain, SelfAskWithSearchChain
File "/home/lidenghui/lou/conda/envs/metagptenv/lib/python3.9/site-packages/langchain/agents/init.py", line 2, in
from langchain.agents.agent import (
File "/home/lidenghui/lou/conda/envs/metagptenv/lib/python3.9/site-packages/langchain/agents/agent.py", line 16, in
from langchain.agents.tools import InvalidTool
File "/home/lidenghui/lou/conda/envs/metagptenv/lib/python3.9/site-packages/langchain/agents/tools.py", line 8, in
from langchain.tools.base import BaseTool, Tool, tool
File "/home/lidenghui/lou/conda/envs/metagptenv/lib/python3.9/site-packages/langchain/tools/init.py", line 3, in
from langchain.tools.arxiv.tool import ArxivQueryRun
File "/home/lidenghui/lou/conda/envs/metagptenv/lib/python3.9/site-packages/langchain/tools/arxiv/tool.py", line 12, in
from langchain.utilities.arxiv import ArxivAPIWrapper
File "/home/lidenghui/lou/conda/envs/metagptenv/lib/python3.9/site-packages/langchain/utilities/init.py", line 3, in
from langchain.utilities.apify import ApifyWrapper
File "/home/lidenghui/lou/conda/envs/metagptenv/lib/python3.9/site-packages/langchain/utilities/apify.py", line 5, in
from langchain.document_loaders import ApifyDatasetLoader
File "/home/lidenghui/lou/conda/envs/metagptenv/lib/python3.9/site-packages/langchain/document_loaders/init.py", line 44, in
from langchain.document_loaders.embaas import EmbaasBlobLoader, EmbaasLoader
File "/home/lidenghui/lou/conda/envs/metagptenv/lib/python3.9/site-packages/langchain/document_loaders/embaas.py", line 54, in
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 "/home/lidenghui/lou/conda/envs/metagptenv/lib/python3.9/typing.py", line 852, in subclasscheck
return issubclass(cls, self.origin)
TypeError: issubclass() arg 1 must be a class
The error seems to originate from typing.py and is related to issubclass(). The error message indicates that issubclass() was called with an argument that is not a class. The error is potentially linked to the pydantic library.
I've checked my code for any instances where I may be using a non-class argument as a class, but I couldn't find any such cases. I'm also using the latest versions of pydantic and all other relevant libraries.
Can you please provide any guidance on how to resolve this issue, or can you point out where I might be going wrong? Your help would be greatly appreciated.
Sent from PPHub
This is a problem caused by the instability of the langchain code base. I will remove references to langchain as soon as possible.
removed in https://github.com/geekan/MetaGPT/commit/bd9d6e94674f7bef9553835c7bfa3b9ffd347f25. check it again.