OpenBMB / ChatDev

Create Customized Software using Natural Language Idea (through LLM-powered Multi-Agent Collaboration)
https://arxiv.org/abs/2307.07924
Apache License 2.0
25.4k stars 3.19k forks source link

error creating software -- unrecognized arguments #114

Closed rclarke009 closed 1 year ago

rclarke009 commented 1 year ago

Here is the command I entered in terminal: python3 run.py --task “create a website for a flower shop” --name “test_flower”

error: unrecognized arguments: a website for a flower shop”

Any ideas?

Nbtguyoriginal commented 1 year ago

Please provide the full error stack

On Sat, Sep 30, 2023, 2:02 PM rclarke009 @.***> wrote:

Here is the command I entered in terminal: python3 run.py --task “create a website for a flower shop” --name “test_flower”

error: unrecognized arguments: a website for a flower shop”

Any ideas?

— Reply to this email directly, view it on GitHub https://github.com/OpenBMB/ChatDev/issues/114, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWJCVUGNGIMWM6M5G7C64SLX5BNDHANCNFSM6AAAAAA5NWQOZ4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>

rclarke009 commented 1 year ago

is this what you meant? I'm still new at command line

(base) rebeccaclarke@Rebeccas-MacBook-Pro ChatDev % python3 run.py --task “create a website for a flower shop” --name “test_flower” usage: run.py [-h] [--config CONFIG] [--org ORG] [--task TASK] [--name NAME] [--model MODEL] run.py: error: unrecognized arguments: a website for a flower shop”

rclarke009 commented 1 year ago

when I run the defaults(python3 run.py with no parameters set), the errors are these: (base) rebeccaclarke@Rebeccas-MacBook-Pro ChatDev % python3 run.py [Preprocessing]

ChatDev Starts (20230930143510)

Timestamp: 20230930143510

config_path: /Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/CompanyConfig/Default/ChatChainConfig.json

config_phase_path: /Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/CompanyConfig/Default/PhaseConfig.json

config_role_path: /Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/CompanyConfig/Default/RoleConfig.json

task_prompt: Develop a basic Gomoku game.

project_name: Gomoku

Log File: /Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/WareHouse/Gomoku_DefaultOrganization_20230930143510.log

ChatDevConfig: ChatEnvConfig.clear_structure: True ChatEnvConfig.git_management: False ChatEnvConfig.gui_design: True

ChatGPTConfig: ChatGPTConfig(temperature=0.2, top_p=1.0, n=1, stream=False, stop=None, max_tokens=None, presence_penalty=0.0, frequency_penalty=0.0, logit_bias={}, user='')

System: [chatting]

Parameter Value
task_prompt Develop a basic Gomoku game.
need_reflect True
assistant_role_name Chief Product Officer
user_role_name Chief Executive Officer
phase_prompt ChatDev has made products in the following form before: Image: can present information in line chart, bar chart, flow chart, cloud chart, Gantt chart, etc. Document: can present information via .docx files. PowerPoint: can present information via .pptx files. Excel: can present information via .xlsx files. PDF: can present information via .pdf files. Website: can present personal resume, tutorial, products, or ideas, via .html files. Application: can implement visualized game, software, tool, etc, via python. Dashboard: can display a panel visualizing real-time information. Mind Map: can represent ideas, with related concepts arranged around a core concept. As the {assistant_role}, to satisfy the new user's demand and the product should be realizable, you should keep discussing with me to decide which product modality do we want the product to be? Note that we must ONLY discuss the product modality and do not discuss anything else! Once we all have expressed our opinion(s) and agree with the results of the discussion unanimously, any of us must actively terminate the discussion by replying with only one line, which starts with a single word , followed by our final product modality without any other words, e.g., " PowerPoint".
phase_name DemandAnalysis
assistant_role_prompt {chatdev_prompt} You are Chief Product Officer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You are responsible for all product-related matters in ChatDev. Usually includes product design, product strategy, product vision, product innovation, project management and product marketing. Here is a new customer's task: {task}. To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.
user_role_prompt {chatdev_prompt} You are Chief Executive Officer. Now, we are both working at ChatDev and we share a common interest in collaborating to successfully complete a task assigned by a new customer. Your main responsibilities include being an active decision-maker on users' demands and other key policy issues, leader, manager, and executor. Your decision-making role involves high-level decisions about policy and strategy; and your communicator role can involve speaking to the organization's management and employees. Here is a new customer's task: {task}. To complete the task, I will give you one or more instructions, and you must help me to write a specific solution that appropriately solves the requested instruction based on your expertise and my needs.
chat_turn_limit 10
placeholders {}
model_type ModelType.GPT_3_5_TURBO

System: [RolePlaying]

Parameter Value
assistant_role_name Chief Product Officer
user_role_name Chief Executive Officer
assistant_role_prompt {chatdev_prompt} You are Chief Product Officer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You are responsible for all product-related matters in ChatDev. Usually includes product design, product strategy, product vision, product innovation, project management and product marketing. Here is a new customer's task: {task}. To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.
user_role_prompt {chatdev_prompt} You are Chief Executive Officer. Now, we are both working at ChatDev and we share a common interest in collaborating to successfully complete a task assigned by a new customer. Your main responsibilities include being an active decision-maker on users' demands and other key policy issues, leader, manager, and executor. Your decision-making role involves high-level decisions about policy and strategy; and your communicator role can involve speaking to the organization's management and employees. Here is a new customer's task: {task}. To complete the task, I will give you one or more instructions, and you must help me to write a specific solution that appropriately solves the requested instruction based on your expertise and my needs.
task_prompt Develop a basic Gomoku game.
with_task_specify False
model_type ModelType.GPT_3_5_TURBO

Chief Executive Officer: [Start Chat]

[ChatDev is a software company powered by multiple intelligent agents, such as chief executive officer, chief human resources officer, chief product officer, chief technology officer, etc, with a multi-agent organizational structure and the mission of "changing the digital world through programming". You are Chief Product Officer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You are responsible for all product-related matters in ChatDev. Usually includes product design, product strategy, product vision, product innovation, project management and product marketing. Here is a new customer's task: Develop a basic Gomoku game.. To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.]

ChatDev has made products in the following form before:

Image: can present information in line chart, bar chart, flow chart, cloud chart, Gantt chart, etc.

Document: can present information via .docx files.

PowerPoint: can present information via .pptx files.

Excel: can present information via .xlsx files.

PDF: can present information via .pdf files.

Website: can present personal resume, tutorial, products, or ideas, via .html files.

Application: can implement visualized game, software, tool, etc, via python.

Dashboard: can display a panel visualizing real-time information.

Mind Map: can represent ideas, with related concepts arranged around a core concept.

As the Chief Product Officer, to satisfy the new user's demand and the product should be realizable, you should keep discussing with me to decide which product modality do we want the product to be?

Note that we must ONLY discuss the product modality and do not discuss anything else! Once we all have expressed our opinion(s) and agree with the results of the discussion unanimously, any of us must actively terminate the discussion by replying with only one line, which starts with a single word , followed by our final product modality without any other words, e.g., " PowerPoint".

Traceback (most recent call last): File "/Users/rebeccaclarke/anaconda3/lib/python3.11/site-packages/tenacity/init.py", line 382, in call result = fn(*args, kwargs) ^^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/camel/utils.py", line 145, in wrapper return func(self, *args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/camel/agents/chat_agent.py", line 191, in step response = self.model_backend.run(messages=openai_messages) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/camel/model_backend.py", line 69, in run response = openai.ChatCompletion.create(args, kwargs, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/anaconda3/lib/python3.11/site-packages/openai/api_resources/chat_completion.py", line 25, in create return super().create(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/anaconda3/lib/python3.11/site-packages/openai/api_resources/abstract/engine_apiresource.py", line 153, in create response, , api_key = requestor.request( ^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/anaconda3/lib/python3.11/site-packages/openai/api_requestor.py", line 298, in request resp, got_stream = self._interpret_response(result, stream) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/anaconda3/lib/python3.11/site-packages/openai/api_requestor.py", line 700, in _interpret_response self._interpret_response_line( File "/Users/rebeccaclarke/anaconda3/lib/python3.11/site-packages/openai/api_requestor.py", line 763, in _interpret_response_line raise self.handle_error_response( openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/run.py", line 111, in chat_chain.execute_chain() File "/Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/chatdev/chat_chain.py", line 160, in execute_chain self.execute_step(phase_item) File "/Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/chatdev/chat_chain.py", line 130, in execute_step self.chat_env = self.phases[phase].execute(self.chat_env, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/chatdev/phase.py", line 292, in execute self.chatting(chat_env=chat_env, File "/Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/chatdev/utils.py", line 77, in wrapper return func(*args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/chatdev/phase.py", line 131, in chatting assistant_response, user_response = role_play_session.step(input_user_msg, chat_turn_limit == 1) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/Documents/ChatDevAttempt2/ChatDev/camel/agents/role_playing.py", line 242, in step assistant_response = self.assistant_agent.step(user_msg_rst) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/anaconda3/lib/python3.11/site-packages/tenacity/init.py", line 289, in wrapped_f return self(f, args, **kw) ^^^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/anaconda3/lib/python3.11/site-packages/tenacity/init.py", line 379, in call do = self.iter(retry_state=retry_state) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rebeccaclarke/anaconda3/lib/python3.11/site-packages/tenacity/init.py", line 326, in iter raise retry_exc from fut.exception() tenacity.RetryError: RetryError[<Future at 0x108876c90 state=finished raised RateLimitError>] (base) rebeccaclarke@Rebeccas-MacBook-Pro ChatDev %

Gaffi commented 1 year ago

@rclarke009 Are you using a free account?

openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.

This seems to indicate the problem, and will happen very quickly if you have no credits.

Alphamasterliu commented 1 year ago

Hello, when the conversation stops after the first turn, it could be a direct reflection of your API key not being utilized. Please check if your account has a sufficient balance (a few cents should be enough for GPT-3.5 for one request, but GPT-4 might require more), and ensure that you have configured the key's environment successfully. Your understanding is greatly appreciated. Thank you for your support and for trying out ChatDev. We remain committed to continuously enhancing the overall functionality and stability.

paulie-rodriguez commented 1 year ago

@rclarke009 were you able to resolve the issue surrounding unrecognized arguments?

Hunter-Hadi commented 11 months ago

@paulie-rodriguez hi i have the same question. when i type python run.py --task "develop a simple pingpong game." --org "THUNLP" --name "pingpong" --model "GPT_3_5_TURBO" . It respones Traceback (most recent call last): File "C:\Users\Admin.conda\envs\ChatDev_conda_env\lib\site-packages\tenacity__init.py", line 382, in call__ result = fn(*args, kwargs) File "F:\Code\aiProtect\aiLanguageModel\ChatDev\camel\utils.py", line 145, in wrapper return func(self, *args, *kwargs) File "F:\Code\aiProtect\aiLanguageModel\ChatDev\camel\agents\chat_agent.py", line 191, in step response = self.model_backend.run(messages=openai_messages) File "F:\Code\aiProtect\aiLanguageModel\ChatDev\camel\model_backend.py", line 70, in run response = openai.ChatCompletion.create(args, kwargs, File "C:\Users\Admin.conda\envs\ChatDev_conda_env\lib\site-packages\openai\api_resources\chat_completion.py", line 25, in create return super().create(*args, **kwargs) File "C:\Users\Admin.conda\envs\ChatDev_conda_env\lib\site-packages\openai\api_resources\abstract\engine_apiresource.py", line 153, in create response, , api_key = requestor.request( File "C:\Users\Admin.conda\envs\ChatDev_conda_env\lib\site-packages\openai\api_requestor.py", line 298, in request resp, got_stream = self._interpret_response(result, stream) File "C:\Users\Admin.conda\envs\ChatDev_conda_env\lib\site-packages\openai\api_requestor.py", line 700, in _interpret_response self._interpret_response_line( File "C:\Users\Admin.conda\envs\ChatDev_conda_env\lib\site-packages\openai\api_requestor.py", line 763, in _interpret_response_line raise self.handle_error_response( openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "F:\Code\aiProtect\aiLanguageModel\ChatDev\run.py", line 111, in chat_chain.execute_chain() File "F:\Code\aiProtect\aiLanguageModel\ChatDev\chatdev\chat_chain.py", line 160, in execute_chain self.execute_step(phase_item) File "F:\Code\aiProtect\aiLanguageModel\ChatDev\chatdev\chat_chain.py", line 130, in execute_step self.chat_env = self.phases[phase].execute(self.chat_env, File "F:\Code\aiProtect\aiLanguageModel\ChatDev\chatdev\phase.py", line 291, in execute self.chatting(chat_env=chat_env, File "F:\Code\aiProtect\aiLanguageModel\ChatDev\chatdev\utils.py", line 77, in wrapper return func(*args, *kwargs) File "F:\Code\aiProtect\aiLanguageModel\ChatDev\chatdev\phase.py", line 130, in chatting assistant_response, user_response = role_play_session.step(input_user_msg, chat_turn_limit == 1) File "F:\Code\aiProtect\aiLanguageModel\ChatDev\camel\agents\role_playing.py", line 242, in step assistant_response = self.assistant_agent.step(user_msg_rst) File "C:\Users\Admin.conda\envs\ChatDev_conda_env\lib\site-packages\tenacity__init__.py", line 289, in wrapped_f return self(f, args, **kw) File "C:\Users\Admin.conda\envs\ChatDev_conda_env\lib\site-packages\tenacity__init.py", line 379, in call do = self.iter(retry_state=retry_state) File "C:\Users\Admin.conda\envs\ChatDev_conda_env\lib\site-packages\tenacity\init__.py", line 326, in iter raise retry_exc from fut.exception() tenacity.RetryError: RetryError[<Future at 0x298271f25b0 state=finished raised RateLimitError>]

I guess there may be a problem with the step of configuring openaiKey, but I don't know if I have successfully set it up. I haven't found a location where I can see what the already configured openaiKey is. When i type $env:OPENAI_API_KEY="your_OpenAI_API_key" . it has no response. By the way i use Window system. And i can run the demo successfully. Looking forward to your help :)