From bee11bd06af7eb49664f7cd9ded0e9d76a41e7ea Mon Sep 17 00:00:00 2001 From: thinkwee Date: Tue, 24 Oct 2023 13:28:35 +0800 Subject: [PATCH] update WareHouse & update Contributers in README --- Contribution.md | 29 +- README.md | 19 +- .../{ => templates}/index.html | 0 .../{ => templates}/result.html | 0 .../ChatChainConfig.json | 101 - .../Gomoku.prompt | 1 - ...oku_DefaultOrganization_20231006033707.log | 98 - .../PhaseConfig.json | 277 -- .../RoleConfig.json | 65 - .../ChatChainConfig.json | 101 - .../PhaseConfig.json | 277 -- .../RoleConfig.json | 65 - .../demo_gui.py | 13 - .../main.py | 11 - .../manual.md | 55 - .../meta.txt | 30 - .../requirements.txt | 1 - .../test_demo.prompt | 1 - ...emo_DefaultOrganization_20231022225548.log | 2547 ----------------- chatdev/phase.py | 1 - misc/article_pic.png | Bin 0 -> 9723 bytes misc/goodcode.png | Bin 0 -> 331916 bytes misc/poker.png | Bin 0 -> 43901 bytes misc/rgb.png | Bin 0 -> 16275 bytes 24 files changed, 32 insertions(+), 3660 deletions(-) rename WareHouse/Article_pic_DefaultOrganization_20231023003059/{ => templates}/index.html (100%) rename WareHouse/Article_pic_DefaultOrganization_20231023003059/{ => templates}/result.html (100%) delete mode 100644 WareHouse/Gomoku_DefaultOrganization_20231006033707/ChatChainConfig.json delete mode 100644 WareHouse/Gomoku_DefaultOrganization_20231006033707/Gomoku.prompt delete mode 100644 WareHouse/Gomoku_DefaultOrganization_20231006033707/Gomoku_DefaultOrganization_20231006033707.log delete mode 100644 WareHouse/Gomoku_DefaultOrganization_20231006033707/PhaseConfig.json delete mode 100644 WareHouse/Gomoku_DefaultOrganization_20231006033707/RoleConfig.json delete mode 100644 WareHouse/test_demo_DefaultOrganization_20231022225548/ChatChainConfig.json delete mode 100644 WareHouse/test_demo_DefaultOrganization_20231022225548/PhaseConfig.json delete mode 100644 WareHouse/test_demo_DefaultOrganization_20231022225548/RoleConfig.json delete mode 100644 WareHouse/test_demo_DefaultOrganization_20231022225548/demo_gui.py delete mode 100644 WareHouse/test_demo_DefaultOrganization_20231022225548/main.py delete mode 100644 WareHouse/test_demo_DefaultOrganization_20231022225548/manual.md delete mode 100644 WareHouse/test_demo_DefaultOrganization_20231022225548/meta.txt delete mode 100644 WareHouse/test_demo_DefaultOrganization_20231022225548/requirements.txt delete mode 100644 WareHouse/test_demo_DefaultOrganization_20231022225548/test_demo.prompt delete mode 100644 WareHouse/test_demo_DefaultOrganization_20231022225548/test_demo_DefaultOrganization_20231022225548.log create mode 100644 misc/article_pic.png create mode 100644 misc/goodcode.png create mode 100644 misc/poker.png create mode 100644 misc/rgb.png diff --git a/Contribution.md b/Contribution.md index a8c9939..9932bc4 100644 --- a/Contribution.md +++ b/Contribution.md @@ -241,7 +241,6 @@ Perfect GPT3.5 - https://github.com/Aizhouym MazeGame @@ -273,7 +272,33 @@ Perfect GPT3.5 - + + https://github.com/eMcQuill + Poker Game + + Perfect + GPT3.5 + + + https://github.com/janinehuang + RGB Picker + + Perfect + GPT3.5 + + + https://github.com/Timaos123 + Good Code + + Perfect + GPT3.5 + + + Article Pic + + Need modification to run + GPT3.5 + diff --git a/README.md b/README.md index 59aece7..d3bfca1 100644 --- a/README.md +++ b/README.md @@ -145,22 +145,13 @@ create a software package and generate a folder named ``/WareHouse/2048_THUNLP_t **See community contributed software [here](Contribution.md)!** -## 👨‍💻‍ Software Contributors +## 👨‍💻‍ Contributors -Contributor -Contributor -Contributor -Contributor -Contributor -Contributor -Contributor -Contributor -Contributor -Contributor -Contributor -Contributor -Contributor + + + +Made with [contrib.rocks](https://contrib.rocks). ## 🔎 Citation ``` diff --git a/WareHouse/Article_pic_DefaultOrganization_20231023003059/index.html b/WareHouse/Article_pic_DefaultOrganization_20231023003059/templates/index.html similarity index 100% rename from WareHouse/Article_pic_DefaultOrganization_20231023003059/index.html rename to WareHouse/Article_pic_DefaultOrganization_20231023003059/templates/index.html diff --git a/WareHouse/Article_pic_DefaultOrganization_20231023003059/result.html b/WareHouse/Article_pic_DefaultOrganization_20231023003059/templates/result.html similarity index 100% rename from WareHouse/Article_pic_DefaultOrganization_20231023003059/result.html rename to WareHouse/Article_pic_DefaultOrganization_20231023003059/templates/result.html diff --git a/WareHouse/Gomoku_DefaultOrganization_20231006033707/ChatChainConfig.json b/WareHouse/Gomoku_DefaultOrganization_20231006033707/ChatChainConfig.json deleted file mode 100644 index 4dad9b3..0000000 --- a/WareHouse/Gomoku_DefaultOrganization_20231006033707/ChatChainConfig.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "chain": [ - { - "phase": "DemandAnalysis", - "phaseType": "SimplePhase", - "max_turn_step": -1, - "need_reflect": "True" - }, - { - "phase": "LanguageChoose", - "phaseType": "SimplePhase", - "max_turn_step": -1, - "need_reflect": "True" - }, - { - "phase": "Coding", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - }, - { - "phase": "CodeCompleteAll", - "phaseType": "ComposedPhase", - "cycleNum": 10, - "Composition": [ - { - "phase": "CodeComplete", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - } - ] - }, - { - "phase": "CodeReview", - "phaseType": "ComposedPhase", - "cycleNum": 3, - "Composition": [ - { - "phase": "CodeReviewComment", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - }, - { - "phase": "CodeReviewModification", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - } - ] - }, - { - "phase": "Test", - "phaseType": "ComposedPhase", - "cycleNum": 3, - "Composition": [ - { - "phase": "TestErrorSummary", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - }, - { - "phase": "TestModification", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - } - ] - }, - { - "phase": "EnvironmentDoc", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "True" - }, - { - "phase": "Manual", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - } - ], - "recruitments": [ - "Chief Executive Officer", - "Counselor", - "Chief Human Resource Officer", - "Chief Product Officer", - "Chief Technology Officer", - "Programmer", - "Code Reviewer", - "Software Test Engineer", - "Chief Creative Officer" - ], - "clear_structure": "True", - "brainstorming": "False", - "gui_design": "True", - "git_management": "False", - "self_improve": "False" -} diff --git a/WareHouse/Gomoku_DefaultOrganization_20231006033707/Gomoku.prompt b/WareHouse/Gomoku_DefaultOrganization_20231006033707/Gomoku.prompt deleted file mode 100644 index aed25f5..0000000 --- a/WareHouse/Gomoku_DefaultOrganization_20231006033707/Gomoku.prompt +++ /dev/null @@ -1 +0,0 @@ -Create a Texas Hold'em Poker game that adheres to the official No Limit Texas Hold'em rules. The game should simulate a poker tournament with 1 human player and 4 AI characters. Each player, including the human player and AI characters, starts with $1000 in chips. \ No newline at end of file diff --git a/WareHouse/Gomoku_DefaultOrganization_20231006033707/Gomoku_DefaultOrganization_20231006033707.log b/WareHouse/Gomoku_DefaultOrganization_20231006033707/Gomoku_DefaultOrganization_20231006033707.log deleted file mode 100644 index f315411..0000000 --- a/WareHouse/Gomoku_DefaultOrganization_20231006033707/Gomoku_DefaultOrganization_20231006033707.log +++ /dev/null @@ -1,98 +0,0 @@ -[2023-06-10 03:37:07 INFO] **[Preprocessing]** - -**ChatDev Starts** (20231006033707) - -**Timestamp**: 20231006033707 - -**config_path**: C:\Users\piema\ChatDev\CompanyConfig\Default\ChatChainConfig.json - -**config_phase_path**: C:\Users\piema\ChatDev\CompanyConfig\Default\PhaseConfig.json - -**config_role_path**: C:\Users\piema\ChatDev\CompanyConfig\Default\RoleConfig.json - -**task_prompt**: Create a Texas Hold'em Poker game that adheres to the official No Limit Texas Hold'em rules. The game should simulate a poker tournament with 1 human player and 4 AI characters. Each player, including the human player and AI characters, starts with $1000 in chips. - -**project_name**: Gomoku - -**Log File**: C:\Users\piema\ChatDev\WareHouse\Gomoku_DefaultOrganization_20231006033707.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='') - - - -[2023-06-10 03:37:09 INFO] flask app.py did not start for online log -[2023-06-10 03:37:09 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | Create a Texas Hold'em Poker game that adheres to the official No Limit Texas Hold'em rules. The game should simulate a poker tournament with 1 human player and 4 AI characters. Each player, including the human player and AI characters, starts with $1000 in chips. | -| **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 | - -[2023-06-10 03:37:11 INFO] flask app.py did not start for online log -[2023-06-10 03:37:11 INFO] 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** | Create a Texas Hold'em Poker game that adheres to the official No Limit Texas Hold'em rules. The game should simulate a poker tournament with 1 human player and 4 AI characters. Each player, including the human player and AI characters, starts with $1000 in chips. | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-06-10 03:37:13 INFO] flask app.py did not start for online log -[2023-06-10 03:37:13 INFO] 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: Create a Texas Hold'em Poker game that adheres to the official No Limit Texas Hold'em rules. The game should simulate a poker tournament with 1 human player and 4 AI characters. Each player, including the human player and AI characters, starts with $1000 in chips.. -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". - -[2023-06-10 03:37:15 INFO] flask app.py did not start for online log -[2023-06-10 03:37:16 INFO] error_code=insufficient_quota error_message='You exceeded your current quota, please check your plan and billing details.' error_param=None error_type=insufficient_quota message='OpenAI API error received' stream_error=False -[2023-06-10 03:37:21 INFO] error_code=insufficient_quota error_message='You exceeded your current quota, please check your plan and billing details.' error_param=None error_type=insufficient_quota message='OpenAI API error received' stream_error=False -[2023-06-10 03:37:29 INFO] error_code=insufficient_quota error_message='You exceeded your current quota, please check your plan and billing details.' error_param=None error_type=insufficient_quota message='OpenAI API error received' stream_error=False -[2023-06-10 03:37:34 INFO] error_code=insufficient_quota error_message='You exceeded your current quota, please check your plan and billing details.' error_param=None error_type=insufficient_quota message='OpenAI API error received' stream_error=False -[2023-06-10 03:37:42 INFO] error_code=insufficient_quota error_message='You exceeded your current quota, please check your plan and billing details.' error_param=None error_type=insufficient_quota message='OpenAI API error received' stream_error=False diff --git a/WareHouse/Gomoku_DefaultOrganization_20231006033707/PhaseConfig.json b/WareHouse/Gomoku_DefaultOrganization_20231006033707/PhaseConfig.json deleted file mode 100644 index e44fd5e..0000000 --- a/WareHouse/Gomoku_DefaultOrganization_20231006033707/PhaseConfig.json +++ /dev/null @@ -1,277 +0,0 @@ -{ - "DemandAnalysis": { - "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\"." - ] - }, - "LanguageChoose": { - "assistant_role_name": "Chief Technology Officer", - "user_role_name": "Chief Executive Officer", - "phase_prompt": [ - "According to the new user's task and some creative brainstorm ideas listed below: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Ideas: \"{ideas}\".", - "We have decided to complete the task through a executable software implemented via a programming language. ", - "As the {assistant_role}, to satisfy the new user's demand and make the software realizable, you should propose a concrete programming language. If python can complete this task via Python, please answer Python; otherwise, answer another programming language (e.g., Java, C++, etc,).", - "Note that we must ONLY discuss the target programming language 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 and conclude the best programming language we have discussed without any other words or reasons, return only one line using the format: \" *\" where \"*\" represents a programming language." - ] - }, - "Coding": { - "assistant_role_name": "Programmer", - "user_role_name": "Chief Technology Officer", - "phase_prompt": [ - "According to the new user's task and our software designs listed below: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Programming Language: \"{language}\"", - "Ideas:\"{ideas}\"", - "We have decided to complete the task through a executable software with multiple files implemented via {language}. As the {assistant_role}, to satisfy the new user's demands, you should write one or multiple files and make sure that every detail of the architecture is, in the end, implemented as code. {gui}", - "Think step by step and reason yourself to the right decisions to make sure we get it right.", - "You will first lay out the names of the core classes, functions, methods that will be necessary, as well as a quick comment on their purpose.", - "Then you will output the content of each file including complete code. Each file must strictly follow a markdown code block format, where the following tokens must be replaced such that \"FILENAME\" is the lowercase file name including the file extension, \"LANGUAGE\" in the programming language, \"DOCSTRING\" is a string literal specified in source code that is used to document a specific segment of code, and \"CODE\" is the original code:", - "FILENAME", - "```LANGUAGE", - "'''", - "DOCSTRING", - "'''", - "CODE", - "```", - "You will start with the \"main\" file, then go to the ones that are imported by that file, and so on.", - "Please note that the code should be fully functional. Ensure to implement all functions. No placeholders (such as 'pass' in Python)." - ] - }, - "ArtDesign": { - "assistant_role_name": "Programmer", - "user_role_name": "Chief Creative Officer", - "phase_prompt": [ - "Our developed source codes and corresponding test reports are listed below: ", - "Task: \"{task}\".", - "Programming Language: \"{language}\"", - "Source Codes:", - "\"{codes}\"", - "Note that each file must strictly follow a markdown code block format, where the following tokens must be replaced such that \"FILENAME\" is the lowercase file name including the file extension, \"LANGUAGE\" in the programming language, \"DOCSTRING\" is a string literal specified in source code that is used to document a specific segment of code, and \"CODE\" is the original code:", - "FILENAME", - "```LANGUAGE", - "'''", - "DOCSTRING", - "'''", - "CODE", - "```", - "As the {assistant_role}, to satisfy the new user's demand and equip the software with a beautiful graphical user interface (GUI), we will discuss and design many decorative images for GUI decoration. Now, we keep discussing the GUI beautification by listing some functionally independent elements in GUI that are being considered to be decorated by different pictures. For example, ten digits (0-9) in a calculator are functionally independent.", - "To answer, use the format: \" FILENAME.png: DESCRIPTION\" where \"FILENAME\" is the filename of the image and \"DESCRIPTION\" denotes the detailed description of the independent elements. For example:", - "'''", - "button_1.png: The button with the number \"1\" on it.", - "button_multiply.png: The button with the multiplication symbol (\"*\") on it.", - "background.png: the background color to decorate the Go game", - "'''", - "Now, list all functionally independent elements as much as possible." - ] - }, - "ArtIntegration": { - "assistant_role_name": "Programmer", - "user_role_name": "Chief Creative Officer", - "phase_prompt": [ - "Our developed source codes and corresponding test reports are listed below: ", - "Task: \"{task}\".", - "Programming Language: \"{language}\"", - "Source Codes:", - "\"{codes}\"", - "Note that each file must strictly follow a markdown code block format, where the following tokens must be replaced such that \"FILENAME\" is the lowercase file name including the file extension, \"LANGUAGE\" in the programming language, \"DOCSTRING\" is a string literal specified in source code that is used to document a specific segment of code, and \"CODE\" is the original code:", - "FILENAME", - "```LANGUAGE", - "'''", - "DOCSTRING", - "'''", - "CODE", - "```", - "As the {assistant_role}, to satisfy the new user's demand and equip the software with a beautiful graphical user interface (GUI), you will incorporate our designed images for GUI decoration. Here are some ready-made high-quality pictures and corresponding descriptions:", - "{images}", - "Note that the designed images have a fixed size of 256x256 pixels and the images are located in the same directory as all the Python files; please dynamically scaling these images according to the size of GUI, and use \"self.*\" to avoid displaying-related problems caused by automatic garbage collection. For example:", - "```", - "self.image = ImageTk.PhotoImage(Image.open(\"./image.png\").resize((50, 50)))", - "```", - "Now, use some or all of the pictures into the GUI to make it more beautiful and creative. Output codes strictly following the required format mentioned above." - ] - }, - "CodeComplete": { - "assistant_role_name": "Programmer", - "user_role_name": "Chief Technology Officer", - "phase_prompt": [ - "According to the new user's task and our software designs listed below: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Programming Language: \"{language}\"", - "Codes:", - "\"{codes}\"", - "Unimplemented File:", - "\"{unimplemented_file}\"", - "In our software, each file must strictly follow a markdown code block format, where the following tokens must be replaced such that \"FILENAME\" is the lowercase file name including the file extension, \"LANGUAGE\" in the programming language, \"DOCSTRING\" is a string literal specified in source code that is used to document a specific segment of code, and \"CODE\" is the original code:", - "FILENAME", - "```LANGUAGE", - "'''", - "DOCSTRING", - "'''", - "CODE", - "```", - "As the {assistant_role}, to satisfy the complete function of our developed software, you have to implement all methods in the {unimplemented_file} file which contains a unimplemented class. Now, implement all methods of the {unimplemented_file} and all other codes needed, then output the fully implemented codes, strictly following the required format." - ] - }, - "CodeReviewComment": { - "assistant_role_name": "Code Reviewer", - "user_role_name": "Programmer", - "phase_prompt": [ - "According to the new user's task and our software designs: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Programming Language: \"{language}\"", - "Ideas: \"{ideas}\"", - "Codes:", - "\"{codes}\"", - "As the {assistant_role}, to make the software directly operable without further coding, ChatDev have formulated the following regulations:", - "1) all referenced classes should be imported;", - "2) all methods should be implemented;", - "3) all methods need to have the necessary comments;", - "4) no potential bugs;", - "5) The entire project conforms to the tasks proposed by the user;", - "6) most importantly, do not only check the errors in the code, but also the logic of code. Make sure that user can interact with generated software without losing any feature in the requirement;", - "Now, you should check the above regulations one by one and review the codes in detail, propose one comment with the highest priority about the codes, and give me instructions on how to fix. Tell me your comment with the highest priority and corresponding suggestions on revision. If the codes are perfect and you have no comment on them, return only one line like \" Finished\"." - ] - }, - "CodeReviewModification": { - "assistant_role_name": "Programmer", - "user_role_name": "Code Reviewer", - "phase_prompt": [ - "According to the new user's task, our designed product modality, languages and ideas, our developed first-edition source codes are listed below: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Programming Language: \"{language}\"", - "Ideas: \"{ideas}\"", - "Codes: ", - "\"{codes}\"", - "Comments on Codes:", - "\"{comments}\"", - "In the software, each file must strictly follow a markdown code block format, where the following tokens must be replaced such that \"FILENAME\" is the lowercase file name including the file extension, \"LANGUAGE\" in the programming language, \"DOCSTRING\" is a string literal specified in source code that is used to document a specific segment of code, and \"CODE\" is the original code. Format:", - "FILENAME", - "```LANGUAGE", - "'''", - "DOCSTRING", - "'''", - "CODE", - "```", - "As the {assistant_role}, to satisfy the new user's demand and make the software creative, executive and robust, you should modify corresponding codes according to the comments. Then, output the full and complete codes with all bugs fixed based on the comments. Return all codes strictly following the required format." - ] - }, - "TestErrorSummary": { - "assistant_role_name": "Programmer", - "user_role_name": "Software Test Engineer", - "phase_prompt": [ - "Our developed source codes and corresponding test reports are listed below: ", - "Programming Language: \"{language}\"", - "Source Codes:", - "\"{codes}\"", - "Test Reports of Source Codes:", - "\"{test_reports}\"", - "According to my test reports, please locate and summarize the bugs that cause the problem." - ] - }, - "TestModification": { - "assistant_role_name": "Programmer", - "user_role_name": "Software Test Engineer", - "phase_prompt": [ - "Our developed source codes and corresponding test reports are listed below: ", - "Programming Language: \"{language}\"", - "Source Codes:", - "\"{codes}\"", - "Test Reports of Source Codes:", - "\"{test_reports}\"", - "Error Summary of Test Reports:", - "\"{error_summary}\"", - "Note that each file must strictly follow a markdown code block format, where the following tokens must be replaced such that \"FILENAME\" is the lowercase file name including the file extension, \"LANGUAGE\" in the programming language, \"DOCSTRING\" is a string literal specified in source code that is used to document a specific segment of code, and \"CODE\" is the original code:", - "FILENAME", - "```LANGUAGE", - "'''", - "DOCSTRING", - "'''", - "CODE", - "```", - "As the {assistant_role}, to satisfy the new user's demand and make the software execute smoothly and robustly, you should modify the codes based on the error summary. Now, use the format exemplified above and modify the problematic codes based on the error summary. Output the codes that you fixed based on the test reported and corresponding explanations (strictly follow the format defined above, including FILENAME, LANGUAGE, DOCSTRING and CODE; incomplete \"TODO\" codes are strictly prohibited). If no bugs are reported, please return only one line like \" Finished\"." - ] - }, - "EnvironmentDoc": { - "assistant_role_name": "Programmer", - "user_role_name": "Chief Technology Officer", - "phase_prompt": [ - "The new user's task and our developed codes are listed: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Programming Language: \"{language}\"", - "Ideas: \"{ideas}\"", - "Codes: ", - "\"{codes}\"", - "As the {assistant_role}, you should write a requirements.txt file, which is commonly used in Python projects to specify the dependencies or packages required for the project to run properly. It serves as a way to document and manage the project's dependencies in a standardized format. For example:", - "requirements.txt", - "```", - "numpy==1.19.2", - "pandas>=1.1.4", - "```", - "According to the codes and file format listed above, write a requirements.txt file to specify the dependencies or packages required for the project to run properly." - ] - }, - "Manual": { - "assistant_role_name": "Chief Product Officer", - "user_role_name": "Chief Executive Officer", - "phase_prompt": [ - "The new user's task, our developed codes and required dependencies are listed: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Programming Language: \"{language}\"", - "Ideas: \"{ideas}\"", - "Codes: ", - "\"{codes}\"", - "Requirements:", - "\"{requirements}\"", - "As the {assistant_role}, by using Markdown, you should write a manual.md file which is a detailed user manual to use the software, including introducing main functions of the software, how to install environment dependencies and how to use/play it. For example:", - "manual.md", - "```", - "# LangChain", - "Building applications with LLMs through composability", - "Looking for the JS/TS version? Check out LangChain.js.", - "**Production Support:** As you move your LangChains into production, we'd love to offer more comprehensive support.", - "Please fill out this form and we'll set up a dedicated support Slack channel.", - "## Quick Install", - "`pip install langchain`", - "or", - "`conda install langchain -c conda-forge`", - "## 🤔 What is this?", - "Large language models (LLMs) are emerging as a transformative technology, enabling developers to build applications that they previously could not. However, using these LLMs in isolation is often insufficient for creating a truly powerful app - the real power comes when you can combine them with other sources of computation or knowledge.", - "This library aims to assist in the development of those types of applications. Common examples of these applications include:", - "**❓ Question Answering over specific documents**", - "- Documentation", - "- End-to-end Example: Question Answering over Notion Database", - "**🤖 Agents**", - "- Documentation", - "- End-to-end Example: GPT+WolframAlpha", - "## 📖 Documentation", - "Please see [here](https://python.langchain.com) for full documentation on:", - "- Getting started (installation, setting up the environment, simple examples)", - "- How-To examples (demos, integrations, helper functions)", - "- Reference (full API docs)", - "- Resources (high-level explanation of core concepts)", - "```" - ] - } -} \ No newline at end of file diff --git a/WareHouse/Gomoku_DefaultOrganization_20231006033707/RoleConfig.json b/WareHouse/Gomoku_DefaultOrganization_20231006033707/RoleConfig.json deleted file mode 100644 index cd09e45..0000000 --- a/WareHouse/Gomoku_DefaultOrganization_20231006033707/RoleConfig.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "Chief Executive Officer": [ - "{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." - ], - "Chief Product Officer": [ - "{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." - ], - "Counselor": [ - "{chatdev_prompt}", - "You are Counselor. Now, we share a common interest in collaborating to successfully complete a task assigned by a new customer.", - "Your main responsibilities include asking what user and customer think and provide your valuable suggestions. ", - "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." - ], - "Chief Technology Officer": [ - "{chatdev_prompt}", - "You are Chief Technology 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 very familiar to information technology. You will make high-level decisions for the overarching technology infrastructure that closely align with the organization's goals, while you work alongside the organization's information technology (\"IT\") staff members to perform everyday operations.", - "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." - ], - "Chief Human Resource Officer": [ - "{chatdev_prompt}", - "You are Chief Human Resource 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.", - "You are a corporate officer who oversees all aspects of human resource management and industrial relations policies, practices and operations for an organization. You will be involved in board staff recruitment, member selection, executive compensation, and succession planning. Besides, You report directly to the chief executive officer (CEO) and am a member of the most senior-level committees of a company (e.g., executive committee or office of CEO).", - "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." - ], - "Programmer": [ - "{chatdev_prompt}", - "You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.", - "You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.", - "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." - ], - "Code Reviewer": [ - "{chatdev_prompt}", - "You are Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.", - "You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes.", - "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." - ], - "Software Test Engineer": [ - "{chatdev_prompt}", - "You are Software Test Engineer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.", - "You can use the software as intended to analyze its functional properties, design manual and automated test procedures to evaluate each software product, build and implement software evaluation test programs, and run test programs to ensure that testing protocols evaluate the software correctly.", - "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." - ], - "Chief Creative Officer": [ - "{chatdev_prompt}", - "You are Chief Creative 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 direct ChatDev's creative software's and develop the artistic design strategy that defines the company's brand. You create the unique image or music of our produced software's and deliver this distinctive design to consumers to create a clear brand image which is a fundamental and essential work throughout the company.", - "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." - ] -} \ No newline at end of file diff --git a/WareHouse/test_demo_DefaultOrganization_20231022225548/ChatChainConfig.json b/WareHouse/test_demo_DefaultOrganization_20231022225548/ChatChainConfig.json deleted file mode 100644 index 4dad9b3..0000000 --- a/WareHouse/test_demo_DefaultOrganization_20231022225548/ChatChainConfig.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "chain": [ - { - "phase": "DemandAnalysis", - "phaseType": "SimplePhase", - "max_turn_step": -1, - "need_reflect": "True" - }, - { - "phase": "LanguageChoose", - "phaseType": "SimplePhase", - "max_turn_step": -1, - "need_reflect": "True" - }, - { - "phase": "Coding", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - }, - { - "phase": "CodeCompleteAll", - "phaseType": "ComposedPhase", - "cycleNum": 10, - "Composition": [ - { - "phase": "CodeComplete", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - } - ] - }, - { - "phase": "CodeReview", - "phaseType": "ComposedPhase", - "cycleNum": 3, - "Composition": [ - { - "phase": "CodeReviewComment", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - }, - { - "phase": "CodeReviewModification", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - } - ] - }, - { - "phase": "Test", - "phaseType": "ComposedPhase", - "cycleNum": 3, - "Composition": [ - { - "phase": "TestErrorSummary", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - }, - { - "phase": "TestModification", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - } - ] - }, - { - "phase": "EnvironmentDoc", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "True" - }, - { - "phase": "Manual", - "phaseType": "SimplePhase", - "max_turn_step": 1, - "need_reflect": "False" - } - ], - "recruitments": [ - "Chief Executive Officer", - "Counselor", - "Chief Human Resource Officer", - "Chief Product Officer", - "Chief Technology Officer", - "Programmer", - "Code Reviewer", - "Software Test Engineer", - "Chief Creative Officer" - ], - "clear_structure": "True", - "brainstorming": "False", - "gui_design": "True", - "git_management": "False", - "self_improve": "False" -} diff --git a/WareHouse/test_demo_DefaultOrganization_20231022225548/PhaseConfig.json b/WareHouse/test_demo_DefaultOrganization_20231022225548/PhaseConfig.json deleted file mode 100644 index e44fd5e..0000000 --- a/WareHouse/test_demo_DefaultOrganization_20231022225548/PhaseConfig.json +++ /dev/null @@ -1,277 +0,0 @@ -{ - "DemandAnalysis": { - "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\"." - ] - }, - "LanguageChoose": { - "assistant_role_name": "Chief Technology Officer", - "user_role_name": "Chief Executive Officer", - "phase_prompt": [ - "According to the new user's task and some creative brainstorm ideas listed below: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Ideas: \"{ideas}\".", - "We have decided to complete the task through a executable software implemented via a programming language. ", - "As the {assistant_role}, to satisfy the new user's demand and make the software realizable, you should propose a concrete programming language. If python can complete this task via Python, please answer Python; otherwise, answer another programming language (e.g., Java, C++, etc,).", - "Note that we must ONLY discuss the target programming language 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 and conclude the best programming language we have discussed without any other words or reasons, return only one line using the format: \" *\" where \"*\" represents a programming language." - ] - }, - "Coding": { - "assistant_role_name": "Programmer", - "user_role_name": "Chief Technology Officer", - "phase_prompt": [ - "According to the new user's task and our software designs listed below: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Programming Language: \"{language}\"", - "Ideas:\"{ideas}\"", - "We have decided to complete the task through a executable software with multiple files implemented via {language}. As the {assistant_role}, to satisfy the new user's demands, you should write one or multiple files and make sure that every detail of the architecture is, in the end, implemented as code. {gui}", - "Think step by step and reason yourself to the right decisions to make sure we get it right.", - "You will first lay out the names of the core classes, functions, methods that will be necessary, as well as a quick comment on their purpose.", - "Then you will output the content of each file including complete code. Each file must strictly follow a markdown code block format, where the following tokens must be replaced such that \"FILENAME\" is the lowercase file name including the file extension, \"LANGUAGE\" in the programming language, \"DOCSTRING\" is a string literal specified in source code that is used to document a specific segment of code, and \"CODE\" is the original code:", - "FILENAME", - "```LANGUAGE", - "'''", - "DOCSTRING", - "'''", - "CODE", - "```", - "You will start with the \"main\" file, then go to the ones that are imported by that file, and so on.", - "Please note that the code should be fully functional. Ensure to implement all functions. No placeholders (such as 'pass' in Python)." - ] - }, - "ArtDesign": { - "assistant_role_name": "Programmer", - "user_role_name": "Chief Creative Officer", - "phase_prompt": [ - "Our developed source codes and corresponding test reports are listed below: ", - "Task: \"{task}\".", - "Programming Language: \"{language}\"", - "Source Codes:", - "\"{codes}\"", - "Note that each file must strictly follow a markdown code block format, where the following tokens must be replaced such that \"FILENAME\" is the lowercase file name including the file extension, \"LANGUAGE\" in the programming language, \"DOCSTRING\" is a string literal specified in source code that is used to document a specific segment of code, and \"CODE\" is the original code:", - "FILENAME", - "```LANGUAGE", - "'''", - "DOCSTRING", - "'''", - "CODE", - "```", - "As the {assistant_role}, to satisfy the new user's demand and equip the software with a beautiful graphical user interface (GUI), we will discuss and design many decorative images for GUI decoration. Now, we keep discussing the GUI beautification by listing some functionally independent elements in GUI that are being considered to be decorated by different pictures. For example, ten digits (0-9) in a calculator are functionally independent.", - "To answer, use the format: \" FILENAME.png: DESCRIPTION\" where \"FILENAME\" is the filename of the image and \"DESCRIPTION\" denotes the detailed description of the independent elements. For example:", - "'''", - "button_1.png: The button with the number \"1\" on it.", - "button_multiply.png: The button with the multiplication symbol (\"*\") on it.", - "background.png: the background color to decorate the Go game", - "'''", - "Now, list all functionally independent elements as much as possible." - ] - }, - "ArtIntegration": { - "assistant_role_name": "Programmer", - "user_role_name": "Chief Creative Officer", - "phase_prompt": [ - "Our developed source codes and corresponding test reports are listed below: ", - "Task: \"{task}\".", - "Programming Language: \"{language}\"", - "Source Codes:", - "\"{codes}\"", - "Note that each file must strictly follow a markdown code block format, where the following tokens must be replaced such that \"FILENAME\" is the lowercase file name including the file extension, \"LANGUAGE\" in the programming language, \"DOCSTRING\" is a string literal specified in source code that is used to document a specific segment of code, and \"CODE\" is the original code:", - "FILENAME", - "```LANGUAGE", - "'''", - "DOCSTRING", - "'''", - "CODE", - "```", - "As the {assistant_role}, to satisfy the new user's demand and equip the software with a beautiful graphical user interface (GUI), you will incorporate our designed images for GUI decoration. Here are some ready-made high-quality pictures and corresponding descriptions:", - "{images}", - "Note that the designed images have a fixed size of 256x256 pixels and the images are located in the same directory as all the Python files; please dynamically scaling these images according to the size of GUI, and use \"self.*\" to avoid displaying-related problems caused by automatic garbage collection. For example:", - "```", - "self.image = ImageTk.PhotoImage(Image.open(\"./image.png\").resize((50, 50)))", - "```", - "Now, use some or all of the pictures into the GUI to make it more beautiful and creative. Output codes strictly following the required format mentioned above." - ] - }, - "CodeComplete": { - "assistant_role_name": "Programmer", - "user_role_name": "Chief Technology Officer", - "phase_prompt": [ - "According to the new user's task and our software designs listed below: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Programming Language: \"{language}\"", - "Codes:", - "\"{codes}\"", - "Unimplemented File:", - "\"{unimplemented_file}\"", - "In our software, each file must strictly follow a markdown code block format, where the following tokens must be replaced such that \"FILENAME\" is the lowercase file name including the file extension, \"LANGUAGE\" in the programming language, \"DOCSTRING\" is a string literal specified in source code that is used to document a specific segment of code, and \"CODE\" is the original code:", - "FILENAME", - "```LANGUAGE", - "'''", - "DOCSTRING", - "'''", - "CODE", - "```", - "As the {assistant_role}, to satisfy the complete function of our developed software, you have to implement all methods in the {unimplemented_file} file which contains a unimplemented class. Now, implement all methods of the {unimplemented_file} and all other codes needed, then output the fully implemented codes, strictly following the required format." - ] - }, - "CodeReviewComment": { - "assistant_role_name": "Code Reviewer", - "user_role_name": "Programmer", - "phase_prompt": [ - "According to the new user's task and our software designs: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Programming Language: \"{language}\"", - "Ideas: \"{ideas}\"", - "Codes:", - "\"{codes}\"", - "As the {assistant_role}, to make the software directly operable without further coding, ChatDev have formulated the following regulations:", - "1) all referenced classes should be imported;", - "2) all methods should be implemented;", - "3) all methods need to have the necessary comments;", - "4) no potential bugs;", - "5) The entire project conforms to the tasks proposed by the user;", - "6) most importantly, do not only check the errors in the code, but also the logic of code. Make sure that user can interact with generated software without losing any feature in the requirement;", - "Now, you should check the above regulations one by one and review the codes in detail, propose one comment with the highest priority about the codes, and give me instructions on how to fix. Tell me your comment with the highest priority and corresponding suggestions on revision. If the codes are perfect and you have no comment on them, return only one line like \" Finished\"." - ] - }, - "CodeReviewModification": { - "assistant_role_name": "Programmer", - "user_role_name": "Code Reviewer", - "phase_prompt": [ - "According to the new user's task, our designed product modality, languages and ideas, our developed first-edition source codes are listed below: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Programming Language: \"{language}\"", - "Ideas: \"{ideas}\"", - "Codes: ", - "\"{codes}\"", - "Comments on Codes:", - "\"{comments}\"", - "In the software, each file must strictly follow a markdown code block format, where the following tokens must be replaced such that \"FILENAME\" is the lowercase file name including the file extension, \"LANGUAGE\" in the programming language, \"DOCSTRING\" is a string literal specified in source code that is used to document a specific segment of code, and \"CODE\" is the original code. Format:", - "FILENAME", - "```LANGUAGE", - "'''", - "DOCSTRING", - "'''", - "CODE", - "```", - "As the {assistant_role}, to satisfy the new user's demand and make the software creative, executive and robust, you should modify corresponding codes according to the comments. Then, output the full and complete codes with all bugs fixed based on the comments. Return all codes strictly following the required format." - ] - }, - "TestErrorSummary": { - "assistant_role_name": "Programmer", - "user_role_name": "Software Test Engineer", - "phase_prompt": [ - "Our developed source codes and corresponding test reports are listed below: ", - "Programming Language: \"{language}\"", - "Source Codes:", - "\"{codes}\"", - "Test Reports of Source Codes:", - "\"{test_reports}\"", - "According to my test reports, please locate and summarize the bugs that cause the problem." - ] - }, - "TestModification": { - "assistant_role_name": "Programmer", - "user_role_name": "Software Test Engineer", - "phase_prompt": [ - "Our developed source codes and corresponding test reports are listed below: ", - "Programming Language: \"{language}\"", - "Source Codes:", - "\"{codes}\"", - "Test Reports of Source Codes:", - "\"{test_reports}\"", - "Error Summary of Test Reports:", - "\"{error_summary}\"", - "Note that each file must strictly follow a markdown code block format, where the following tokens must be replaced such that \"FILENAME\" is the lowercase file name including the file extension, \"LANGUAGE\" in the programming language, \"DOCSTRING\" is a string literal specified in source code that is used to document a specific segment of code, and \"CODE\" is the original code:", - "FILENAME", - "```LANGUAGE", - "'''", - "DOCSTRING", - "'''", - "CODE", - "```", - "As the {assistant_role}, to satisfy the new user's demand and make the software execute smoothly and robustly, you should modify the codes based on the error summary. Now, use the format exemplified above and modify the problematic codes based on the error summary. Output the codes that you fixed based on the test reported and corresponding explanations (strictly follow the format defined above, including FILENAME, LANGUAGE, DOCSTRING and CODE; incomplete \"TODO\" codes are strictly prohibited). If no bugs are reported, please return only one line like \" Finished\"." - ] - }, - "EnvironmentDoc": { - "assistant_role_name": "Programmer", - "user_role_name": "Chief Technology Officer", - "phase_prompt": [ - "The new user's task and our developed codes are listed: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Programming Language: \"{language}\"", - "Ideas: \"{ideas}\"", - "Codes: ", - "\"{codes}\"", - "As the {assistant_role}, you should write a requirements.txt file, which is commonly used in Python projects to specify the dependencies or packages required for the project to run properly. It serves as a way to document and manage the project's dependencies in a standardized format. For example:", - "requirements.txt", - "```", - "numpy==1.19.2", - "pandas>=1.1.4", - "```", - "According to the codes and file format listed above, write a requirements.txt file to specify the dependencies or packages required for the project to run properly." - ] - }, - "Manual": { - "assistant_role_name": "Chief Product Officer", - "user_role_name": "Chief Executive Officer", - "phase_prompt": [ - "The new user's task, our developed codes and required dependencies are listed: ", - "Task: \"{task}\".", - "Modality: \"{modality}\".", - "Programming Language: \"{language}\"", - "Ideas: \"{ideas}\"", - "Codes: ", - "\"{codes}\"", - "Requirements:", - "\"{requirements}\"", - "As the {assistant_role}, by using Markdown, you should write a manual.md file which is a detailed user manual to use the software, including introducing main functions of the software, how to install environment dependencies and how to use/play it. For example:", - "manual.md", - "```", - "# LangChain", - "Building applications with LLMs through composability", - "Looking for the JS/TS version? Check out LangChain.js.", - "**Production Support:** As you move your LangChains into production, we'd love to offer more comprehensive support.", - "Please fill out this form and we'll set up a dedicated support Slack channel.", - "## Quick Install", - "`pip install langchain`", - "or", - "`conda install langchain -c conda-forge`", - "## 🤔 What is this?", - "Large language models (LLMs) are emerging as a transformative technology, enabling developers to build applications that they previously could not. However, using these LLMs in isolation is often insufficient for creating a truly powerful app - the real power comes when you can combine them with other sources of computation or knowledge.", - "This library aims to assist in the development of those types of applications. Common examples of these applications include:", - "**❓ Question Answering over specific documents**", - "- Documentation", - "- End-to-end Example: Question Answering over Notion Database", - "**🤖 Agents**", - "- Documentation", - "- End-to-end Example: GPT+WolframAlpha", - "## 📖 Documentation", - "Please see [here](https://python.langchain.com) for full documentation on:", - "- Getting started (installation, setting up the environment, simple examples)", - "- How-To examples (demos, integrations, helper functions)", - "- Reference (full API docs)", - "- Resources (high-level explanation of core concepts)", - "```" - ] - } -} \ No newline at end of file diff --git a/WareHouse/test_demo_DefaultOrganization_20231022225548/RoleConfig.json b/WareHouse/test_demo_DefaultOrganization_20231022225548/RoleConfig.json deleted file mode 100644 index cd09e45..0000000 --- a/WareHouse/test_demo_DefaultOrganization_20231022225548/RoleConfig.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "Chief Executive Officer": [ - "{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." - ], - "Chief Product Officer": [ - "{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." - ], - "Counselor": [ - "{chatdev_prompt}", - "You are Counselor. Now, we share a common interest in collaborating to successfully complete a task assigned by a new customer.", - "Your main responsibilities include asking what user and customer think and provide your valuable suggestions. ", - "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." - ], - "Chief Technology Officer": [ - "{chatdev_prompt}", - "You are Chief Technology 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 very familiar to information technology. You will make high-level decisions for the overarching technology infrastructure that closely align with the organization's goals, while you work alongside the organization's information technology (\"IT\") staff members to perform everyday operations.", - "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." - ], - "Chief Human Resource Officer": [ - "{chatdev_prompt}", - "You are Chief Human Resource 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.", - "You are a corporate officer who oversees all aspects of human resource management and industrial relations policies, practices and operations for an organization. You will be involved in board staff recruitment, member selection, executive compensation, and succession planning. Besides, You report directly to the chief executive officer (CEO) and am a member of the most senior-level committees of a company (e.g., executive committee or office of CEO).", - "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." - ], - "Programmer": [ - "{chatdev_prompt}", - "You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.", - "You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.", - "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." - ], - "Code Reviewer": [ - "{chatdev_prompt}", - "You are Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.", - "You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes.", - "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." - ], - "Software Test Engineer": [ - "{chatdev_prompt}", - "You are Software Test Engineer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.", - "You can use the software as intended to analyze its functional properties, design manual and automated test procedures to evaluate each software product, build and implement software evaluation test programs, and run test programs to ensure that testing protocols evaluate the software correctly.", - "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." - ], - "Chief Creative Officer": [ - "{chatdev_prompt}", - "You are Chief Creative 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 direct ChatDev's creative software's and develop the artistic design strategy that defines the company's brand. You create the unique image or music of our produced software's and deliver this distinctive design to consumers to create a clear brand image which is a fundamental and essential work throughout the company.", - "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." - ] -} \ No newline at end of file diff --git a/WareHouse/test_demo_DefaultOrganization_20231022225548/demo_gui.py b/WareHouse/test_demo_DefaultOrganization_20231022225548/demo_gui.py deleted file mode 100644 index c58f86c..0000000 --- a/WareHouse/test_demo_DefaultOrganization_20231022225548/demo_gui.py +++ /dev/null @@ -1,13 +0,0 @@ -import tkinter as tk -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - self.create_widgets() - def create_widgets(self): - self.label = tk.Label(self.root, text="Hello, World!") - self.label.pack() - self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) - self.button.pack() - def button_clicked(self): - self.label.config(text="Button Clicked!") \ No newline at end of file diff --git a/WareHouse/test_demo_DefaultOrganization_20231022225548/main.py b/WareHouse/test_demo_DefaultOrganization_20231022225548/main.py deleted file mode 100644 index 00b7360..0000000 --- a/WareHouse/test_demo_DefaultOrganization_20231022225548/main.py +++ /dev/null @@ -1,11 +0,0 @@ -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/WareHouse/test_demo_DefaultOrganization_20231022225548/manual.md b/WareHouse/test_demo_DefaultOrganization_20231022225548/manual.md deleted file mode 100644 index 874bfb6..0000000 --- a/WareHouse/test_demo_DefaultOrganization_20231022225548/manual.md +++ /dev/null @@ -1,55 +0,0 @@ -# ChatDev Demo - -## Introduction - -Welcome to ChatDev Demo! This software is a simple demo that showcases a basic graphical user interface (GUI) using Python and the tkinter library. In this manual, you will find instructions on how to install the necessary dependencies and how to use the software. - -## Installation - -To install the required dependencies, please follow these steps: - -1. Ensure that you have Python installed on your system. If not, you can download and install Python from the official website: [Python Downloads](https://www.python.org/downloads/) - -2. Open a terminal or command prompt. - -3. Navigate to the directory where you have saved the demo files. - -4. Run the following command to install the dependencies: - -```shell -pip install -r requirements.txt -``` - -5. Wait for the installation to complete. - -## Usage - -To run the ChatDev Demo, please follow these steps: - -1. Open a terminal or command prompt. - -2. Navigate to the directory where you have saved the demo files. - -3. Run the following command to start the demo: - -```shell -python main.py -``` - -4. A GUI window will open with a label displaying "Hello, World!" and a button labeled "Click Me". - -5. Click the "Click Me" button to see the label text change to "Button Clicked!". - -6. You can close the GUI window by clicking the close button or by pressing the "X" button. - -## Conclusion - -Congratulations! You have successfully installed and used the ChatDev Demo. This simple demo showcases the basic functionality of a GUI using Python and the tkinter library. Feel free to explore and modify the code to create your own GUI applications. - -If you have any questions or need further assistance, please don't hesitate to reach out to our support team. We are here to help you. - -Happy coding! - ---- - -Note: This manual is written in Markdown format. You can use any Markdown editor or viewer to read and format the content. \ No newline at end of file diff --git a/WareHouse/test_demo_DefaultOrganization_20231022225548/meta.txt b/WareHouse/test_demo_DefaultOrganization_20231022225548/meta.txt deleted file mode 100644 index 29b9a29..0000000 --- a/WareHouse/test_demo_DefaultOrganization_20231022225548/meta.txt +++ /dev/null @@ -1,30 +0,0 @@ -Task: -show me a simple demo - -Config: -ChatEnvConfig.clear_structure: True -ChatEnvConfig.git_management: False -ChatEnvConfig.gui_design: True - - -Roster: -Chief Executive Officer, Counselor, Chief Human Resource Officer, Chief Product Officer, Chief Technology Officer, Programmer, Code Reviewer, Software Test Engineer, Chief Creative Officer - -Modality: -website - -Ideas: - - -Language: - Python - -Code_Version: -4.0 - -Proposed_images: -0 - -Incorporated_images: -0 - diff --git a/WareHouse/test_demo_DefaultOrganization_20231022225548/requirements.txt b/WareHouse/test_demo_DefaultOrganization_20231022225548/requirements.txt deleted file mode 100644 index 5d6fce4..0000000 --- a/WareHouse/test_demo_DefaultOrganization_20231022225548/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -tkinter diff --git a/WareHouse/test_demo_DefaultOrganization_20231022225548/test_demo.prompt b/WareHouse/test_demo_DefaultOrganization_20231022225548/test_demo.prompt deleted file mode 100644 index ba23e12..0000000 --- a/WareHouse/test_demo_DefaultOrganization_20231022225548/test_demo.prompt +++ /dev/null @@ -1 +0,0 @@ -show me a simple demo \ No newline at end of file diff --git a/WareHouse/test_demo_DefaultOrganization_20231022225548/test_demo_DefaultOrganization_20231022225548.log b/WareHouse/test_demo_DefaultOrganization_20231022225548/test_demo_DefaultOrganization_20231022225548.log deleted file mode 100644 index 5ef6143..0000000 --- a/WareHouse/test_demo_DefaultOrganization_20231022225548/test_demo_DefaultOrganization_20231022225548.log +++ /dev/null @@ -1,2547 +0,0 @@ -[2023-22-10 22:55:48 INFO] **[Preprocessing]** - -**ChatDev Starts** (20231022225548) - -**Timestamp**: 20231022225548 - -**config_path**: D:\learnChatDev\MBChatDev\ChatDev\CompanyConfig\Default\ChatChainConfig.json - -**config_phase_path**: D:\learnChatDev\MBChatDev\ChatDev\CompanyConfig\Default\PhaseConfig.json - -**config_role_path**: D:\learnChatDev\MBChatDev\ChatDev\CompanyConfig\Default\RoleConfig.json - -**task_prompt**: show me a simple demo - -**project_name**: test_demo - -**Log File**: D:\learnChatDev\MBChatDev\ChatDev\WareHouse\test_demo_DefaultOrganization_20231022225548.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='') - - - -[2023-22-10 22:55:50 INFO] flask app.py did not start for online log -[2023-22-10 22:55:50 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | show me a simple demo | -| **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 | - -[2023-22-10 22:55:52 INFO] flask app.py did not start for online log -[2023-22-10 22:55:52 INFO] 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** | show me a simple demo | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 22:55:54 INFO] flask app.py did not start for online log -[2023-22-10 22:55:54 INFO] 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: show me a simple demo. -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". - -[2023-22-10 22:55:56 INFO] flask app.py did not start for online log -[2023-22-10 22:56:09 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 429 -completion_tokens: 75 -total_tokens: 504 -cost: $0.001587 - - -[2023-22-10 22:56:11 INFO] flask app.py did not start for online log -[2023-22-10 22:56:18 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 545 -completion_tokens: 62 -total_tokens: 607 -cost: $0.001883 - - -[2023-22-10 22:56:20 INFO] flask app.py did not start for online log -[2023-22-10 22:56:20 INFO] Chief Product Officer: **Chief Product Officer<->Chief Executive Officer on : DemandAnalysis, turn 0** - -[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 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: show me a simple demo. -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.] - -I suggest we consider creating a website for the demo. A website can present various types of information, including text, images, charts, and interactive elements. It provides a versatile platform to showcase the capabilities of our products and allows for easy access and navigation for the user. Additionally, a website can be easily shared and accessed across different devices and platforms. What do you think? - -[2023-22-10 22:56:22 INFO] flask app.py did not start for online log -[2023-22-10 22:56:22 INFO] Chief Executive Officer: **Chief Product Officer<->Chief Executive Officer on : DemandAnalysis, turn 0** - -[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: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -I agree with your suggestion of creating a website for the demo. It offers a wide range of possibilities for presenting information and allows for easy access and navigation. It also aligns with our goal of showcasing the capabilities of our products effectively. Let's proceed with creating a website for the demo. Website - -[2023-22-10 22:56:24 INFO] flask app.py did not start for online log -[2023-22-10 22:56:33 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 574 -completion_tokens: 79 -total_tokens: 653 -cost: $0.002038 - - -[2023-22-10 22:56:35 INFO] flask app.py did not start for online log -[2023-22-10 22:56:43 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 694 -completion_tokens: 72 -total_tokens: 766 -cost: $0.002370 - - -[2023-22-10 22:56:45 INFO] flask app.py did not start for online log -[2023-22-10 22:56:45 INFO] Chief Product Officer: **Chief Product Officer<->Chief Executive Officer on : DemandAnalysis, turn 1** - -[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 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: show me a simple demo. -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.] - -Great! I'm glad we agree on creating a website for the demo. This modality will provide us with the flexibility to showcase the various features and capabilities of our products effectively. We can design the website to include interactive elements, visualizations, and informative content to engage the user and demonstrate the value of our offerings. Let's proceed with developing a website for the demo. Website - -[2023-22-10 22:56:47 INFO] flask app.py did not start for online log -[2023-22-10 22:56:47 INFO] Chief Executive Officer: **Chief Product Officer<->Chief Executive Officer on : DemandAnalysis, turn 1** - -[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: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -Excellent! I'm glad we are aligned on creating a website for the demo. This modality will allow us to showcase the full potential of our products and engage the user with interactive elements and visualizations. We can design the website to be user-friendly, visually appealing, and informative. Let's proceed with developing a website for the demo. Website - -[2023-22-10 22:56:49 INFO] flask app.py did not start for online log -[2023-22-10 22:56:59 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 733 -completion_tokens: 79 -total_tokens: 812 -cost: $0.002515 - - -[2023-22-10 22:57:01 INFO] flask app.py did not start for online log -[2023-22-10 22:57:09 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 853 -completion_tokens: 77 -total_tokens: 930 -cost: $0.002867 - - -[2023-22-10 22:57:11 INFO] flask app.py did not start for online log -[2023-22-10 22:57:11 INFO] Chief Product Officer: **Chief Product Officer<->Chief Executive Officer on : DemandAnalysis, turn 2** - -[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 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: show me a simple demo. -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.] - -Great! I'm glad we are all in agreement on creating a website for the demo. This modality will provide us with the flexibility to showcase the features and capabilities of our products effectively. We can design the website to be visually appealing, user-friendly, and interactive, allowing the user to explore and experience our offerings. Let's proceed with developing a website for the demo. Website - -[2023-22-10 22:57:13 INFO] flask app.py did not start for online log -[2023-22-10 22:57:13 INFO] Chief Executive Officer: **Chief Product Officer<->Chief Executive Officer on : DemandAnalysis, turn 2** - -[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: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -Perfect! I'm glad we have reached a unanimous decision to create a website for the demo. This modality will allow us to effectively showcase the features and capabilities of our products in a visually appealing and interactive manner. We can design the website to provide a seamless user experience and highlight the value of our offerings. Let's proceed with developing a website for the demo. Website - -[2023-22-10 22:57:16 INFO] flask app.py did not start for online log -[2023-22-10 22:57:17 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 897 -completion_tokens: 4 -total_tokens: 901 -cost: $0.002707 - - -[2023-22-10 22:57:19 INFO] flask app.py did not start for online log -[2023-22-10 22:57:19 INFO] Chief Product Officer: **Chief Product Officer<->Chief Executive Officer on : DemandAnalysis, turn 3** - -[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 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: show me a simple demo. -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.] - - Website - -[2023-22-10 22:57:21 INFO] flask app.py did not start for online log -[2023-22-10 22:57:21 INFO] **[Seminar Conclusion]**: - - Website - -[2023-22-10 22:57:23 INFO] flask app.py did not start for online log -[2023-22-10 22:57:23 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | show me a simple demo | -| **need_reflect** | True | -| **assistant_role_name** | Chief Technology Officer | -| **user_role_name** | Chief Executive Officer | -| **phase_prompt** | According to the new user's task and some creative brainstorm ideas listed below: Task: "{task}". Modality: "{modality}". Ideas: "{ideas}". We have decided to complete the task through a executable software implemented via a programming language. As the {assistant_role}, to satisfy the new user's demand and make the software realizable, you should propose a concrete programming language. If python can complete this task via Python, please answer Python; otherwise, answer another programming language (e.g., Java, C++, etc,). Note that we must ONLY discuss the target programming language 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 and conclude the best programming language we have discussed without any other words or reasons, return only one line using the format: " " where "" represents a programming language. | -| **phase_name** | LanguageChoose | -| **assistant_role_prompt** | {chatdev_prompt} You are Chief Technology 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 very familiar to information technology. You will make high-level decisions for the overarching technology infrastructure that closely align with the organization's goals, while you work alongside the organization's information technology ("IT") staff members to perform everyday operations. 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** | {'task': 'show me a simple demo', 'modality': 'website', 'ideas': ''} | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 22:57:25 INFO] flask app.py did not start for online log -[2023-22-10 22:57:25 INFO] System: **[RolePlaying]** - -| Parameter | Value | -| --- | --- | -| **assistant_role_name** | Chief Technology Officer | -| **user_role_name** | Chief Executive Officer | -| **assistant_role_prompt** | {chatdev_prompt} You are Chief Technology 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 very familiar to information technology. You will make high-level decisions for the overarching technology infrastructure that closely align with the organization's goals, while you work alongside the organization's information technology ("IT") staff members to perform everyday operations. 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** | show me a simple demo | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 22:57:27 INFO] flask app.py did not start for online log -[2023-22-10 22:57:27 INFO] 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 Technology 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 very familiar to information technology. You will make high-level decisions for the overarching technology infrastructure that closely align with the organization's goals, while you work alongside the organization's information technology ("IT") staff members to perform everyday operations. -Here is a new customer's task: show me a simple demo. -To complete the task, You must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -According to the new user's task and some creative brainstorm ideas listed below: - -Task: "show me a simple demo". - -Modality: "website". - -Ideas: "". - -We have decided to complete the task through a executable software implemented via a programming language. - -As the Chief Technology Officer, to satisfy the new user's demand and make the software realizable, you should propose a concrete programming language. If python can complete this task via Python, please answer Python; otherwise, answer another programming language (e.g., Java, C++, etc,). - -Note that we must ONLY discuss the target programming language 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 and conclude the best programming language we have discussed without any other words or reasons, return only one line using the format: " *" where "*" represents a programming language. - -[2023-22-10 22:57:29 INFO] flask app.py did not start for online log -[2023-22-10 22:57:30 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 371 -completion_tokens: 4 -total_tokens: 375 -cost: $0.001129 - - -[2023-22-10 22:57:32 INFO] flask app.py did not start for online log -[2023-22-10 22:57:32 INFO] Chief Technology Officer: **Chief Technology Officer<->Chief Executive Officer on : LanguageChoose, turn 0** - -[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 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: show me a simple demo. -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.] - - Python - -[2023-22-10 22:57:35 INFO] flask app.py did not start for online log -[2023-22-10 22:57:35 INFO] **[Seminar Conclusion]**: - - Python - -[2023-22-10 22:57:37 INFO] flask app.py did not start for online log -[2023-22-10 22:57:37 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | show me a simple demo | -| **need_reflect** | False | -| **assistant_role_name** | Programmer | -| **user_role_name** | Chief Technology Officer | -| **phase_prompt** | According to the new user's task and our software designs listed below: Task: "{task}". Modality: "{modality}". Programming Language: "{language}" Ideas:"{ideas}" We have decided to complete the task through a executable software with multiple files implemented via {language}. As the {assistant_role}, to satisfy the new user's demands, you should write one or multiple files and make sure that every detail of the architecture is, in the end, implemented as code. {gui} Think step by step and reason yourself to the right decisions to make sure we get it right. You will first lay out the names of the core classes, functions, methods that will be necessary, as well as a quick comment on their purpose. Then you will output the content of each file including complete code. Each file must strictly follow a markdown code block format, where the following tokens must be replaced such that "FILENAME" is the lowercase file name including the file extension, "LANGUAGE" in the programming language, "DOCSTRING" is a string literal specified in source code that is used to document a specific segment of code, and "CODE" is the original code: FILENAME ```LANGUAGE ''' DOCSTRING ''' CODE ``` You will start with the "main" file, then go to the ones that are imported by that file, and so on. Please note that the code should be fully functional. Ensure to implement all functions. No placeholders (such as 'pass' in Python). | -| **phase_name** | Coding | -| **assistant_role_prompt** | {chatdev_prompt} You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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 Technology 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 very familiar to information technology. You will make high-level decisions for the overarching technology infrastructure that closely align with the organization's goals, while you work alongside the organization's information technology ("IT") staff members to perform everyday operations. 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. | -| **chat_turn_limit** | 1 | -| **placeholders** | {'task': 'show me a simple demo', 'modality': 'website', 'ideas': '', 'language': ' Python', 'gui': 'The software should be equipped with graphical user interface (GUI) so that user can visually and graphically use it; so you must choose a GUI framework (e.g., in Python, you can implement GUI via tkinter, Pygame, Flexx, PyGUI, etc,).'} | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 22:57:39 INFO] flask app.py did not start for online log -[2023-22-10 22:57:39 INFO] System: **[RolePlaying]** - -| Parameter | Value | -| --- | --- | -| **assistant_role_name** | Programmer | -| **user_role_name** | Chief Technology Officer | -| **assistant_role_prompt** | {chatdev_prompt} You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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 Technology 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 very familiar to information technology. You will make high-level decisions for the overarching technology infrastructure that closely align with the organization's goals, while you work alongside the organization's information technology ("IT") staff members to perform everyday operations. 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. | -| **task_prompt** | show me a simple demo | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 22:57:41 INFO] flask app.py did not start for online log -[2023-22-10 22:57:41 INFO] Chief Technology 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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -According to the new user's task and our software designs listed below: - -Task: "show me a simple demo". - -Modality: "website". - -Programming Language: " Python" - -Ideas:"" - -We have decided to complete the task through a executable software with multiple files implemented via Python. As the Programmer, to satisfy the new user's demands, you should write one or multiple files and make sure that every detail of the architecture is, in the end, implemented as code. The software should be equipped with graphical user interface (GUI) so that user can visually and graphically use it; so you must choose a GUI framework (e.g., in Python, you can implement GUI via tkinter, Pygame, Flexx, PyGUI, etc,). - -Think step by step and reason yourself to the right decisions to make sure we get it right. - -You will first lay out the names of the core classes, functions, methods that will be necessary, as well as a quick comment on their purpose. - -Then you will output the content of each file including complete code. Each file must strictly follow a markdown code block format, where the following tokens must be replaced such that "FILENAME" is the lowercase file name including the file extension, "LANGUAGE" in the programming language, "DOCSTRING" is a string literal specified in source code that is used to document a specific segment of code, and "CODE" is the original code: - -FILENAME - -```LANGUAGE - -''' - -DOCSTRING - -''' - -CODE - -``` - -You will start with the "main" file, then go to the ones that are imported by that file, and so on. - -Please note that the code should be fully functional. Ensure to implement all functions. No placeholders (such as 'pass' in Python). - -[2023-22-10 22:57:43 INFO] flask app.py did not start for online log -[2023-22-10 22:58:26 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 545 -completion_tokens: 392 -total_tokens: 937 -cost: $0.003203 - - -[2023-22-10 22:58:28 INFO] flask app.py did not start for online log -[2023-22-10 22:58:28 INFO] Programmer: **Programmer<->Chief Technology Officer on : Coding, turn 0** - -[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 Technology 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 very familiar to information technology. You will make high-level decisions for the overarching technology infrastructure that closely align with the organization's goals, while you work alongside the organization's information technology ("IT") staff members to perform everyday operations. -Here is a new customer's task: show me a simple demo. -To complete the task, You must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -main.py - -```python -''' -This is the main file that runs the demo. -''' - -import tkinter as tk -from demo_gui import DemoGUI - -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() - -if __name__ == "__main__": - main() -``` - -demo_gui.py - -```python -''' -This file contains the DemoGUI class which represents the graphical user interface of the demo. -''' - -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo") - - self.label = tk.Label(self.root, text="Welcome to the Demo!") - self.label.pack(pady=10) - - self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) - self.button.pack(pady=5) - - def button_clicked(self): - self.label.config(text="Button Clicked!") -``` - -In this demo, we have created two files: `main.py` and `demo_gui.py`. - -The `main.py` file is the entry point of the application. It imports the `tkinter` module and the `DemoGUI` class from `demo_gui.py`. The `main` function creates an instance of the `DemoGUI` class and starts the main event loop. - -The `demo_gui.py` file contains the `DemoGUI` class which represents the graphical user interface of the demo. In the constructor, it creates a window using `tkinter` and adds a label and a button to it. The `button_clicked` method is called when the button is clicked and updates the label text. - -To run the demo, execute the `main.py` file. It will open a window with a label and a button. Clicking the button will change the label text to "Button Clicked!". - -Please let me know if you need any further assistance! - -[2023-22-10 22:58:30 INFO] flask app.py did not start for online log -[2023-22-10 22:58:30 INFO] **[Seminar Conclusion]**: - - main.py - -```python -''' -This is the main file that runs the demo. -''' - -import tkinter as tk -from demo_gui import DemoGUI - -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() - -if __name__ == "__main__": - main() -``` - -demo_gui.py - -```python -''' -This file contains the DemoGUI class which represents the graphical user interface of the demo. -''' - -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo") - - self.label = tk.Label(self.root, text="Welcome to the Demo!") - self.label.pack(pady=10) - - self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) - self.button.pack(pady=5) - - def button_clicked(self): - self.label.config(text="Button Clicked!") -``` - -In this demo, we have created two files: `main.py` and `demo_gui.py`. - -The `main.py` file is the entry point of the application. It imports the `tkinter` module and the `DemoGUI` class from `demo_gui.py`. The `main` function creates an instance of the `DemoGUI` class and starts the main event loop. - -The `demo_gui.py` file contains the `DemoGUI` class which represents the graphical user interface of the demo. In the constructor, it creates a window using `tkinter` and adds a label and a button to it. The `button_clicked` method is called when the button is clicked and updates the label text. - -To run the demo, execute the `main.py` file. It will open a window with a label and a button. Clicking the button will change the label text to "Button Clicked!". - -Please let me know if you need any further assistance! - -[2023-22-10 22:58:32 INFO] flask app.py did not start for online log -[2023-22-10 22:58:32 INFO] **[Update Codes]** - -main.py updated. - - -``` -''' - -''' ---- Old -+++ New -@@ -1 +1,11 @@ --# None -+''' -+This is the main file that runs the demo. -+''' -+import tkinter as tk -+from demo_gui import DemoGUI -+def main(): -+ root = tk.Tk() -+ demo_gui = DemoGUI(root) -+ root.mainloop() -+if __name__ == "__main__": -+ main() -``` - -[2023-22-10 22:58:34 INFO] flask app.py did not start for online log -[2023-22-10 22:58:34 INFO] **[Update Codes]** - -demo_gui.py updated. - - -``` -''' - -''' ---- Old -+++ New -@@ -1 +1,14 @@ --# None -+''' -+This file contains the DemoGUI class which represents the graphical user interface of the demo. -+''' -+import tkinter as tk -+class DemoGUI: -+ def __init__(self, root): -+ self.root = root -+ self.root.title("Demo") -+ self.label = tk.Label(self.root, text="Welcome to the Demo!") -+ self.label.pack(pady=10) -+ self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) -+ self.button.pack(pady=5) -+ def button_clicked(self): -+ self.label.config(text="Button Clicked!") -``` - -[2023-22-10 22:58:36 INFO] flask app.py did not start for online log -[2023-22-10 22:58:36 INFO] **[Software Info]**: - - - -💰**cost**=$0.010150 - -🔨**version_updates**=-1 - -📃**num_code_files**=2 - -🏞**num_png_files**=0 - -📚**num_doc_files**=4 - -📃**code_lines**=25 - -📋**env_lines**=-1 - -📒**manual_lines**=-1 - -🗣**num_utterances**=12 - -🤔**num_self_reflections**=0 - -❓**num_prompt_tokens**=5641 - -❗**num_completion_tokens**=844 - -🌟**num_total_tokens**=6485 - -[2023-22-10 22:58:38 INFO] flask app.py did not start for online log -[2023-22-10 22:58:38 INFO] **[Execute Detail]** - -execute SimplePhase:[CodeComplete] in ComposedPhase:[CodeCompleteAll], cycle 1 - -[2023-22-10 22:58:41 INFO] flask app.py did not start for online log -[2023-22-10 22:58:41 INFO] **[Execute Detail]** - -execute SimplePhase:[CodeReviewComment] in ComposedPhase:[CodeReview], cycle 1 - -[2023-22-10 22:58:43 INFO] flask app.py did not start for online log -[2023-22-10 22:58:43 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | show me a simple demo | -| **need_reflect** | False | -| **assistant_role_name** | Code Reviewer | -| **user_role_name** | Programmer | -| **phase_prompt** | According to the new user's task and our software designs: Task: "{task}". Modality: "{modality}". Programming Language: "{language}" Ideas: "{ideas}" Codes: "{codes}" As the {assistant_role}, to make the software directly operable without further coding, ChatDev have formulated the following regulations: 1) all referenced classes should be imported; 2) all methods should be implemented; 3) all methods need to have the necessary comments; 4) no potential bugs; 5) The entire project conforms to the tasks proposed by the user; 6) most importantly, do not only check the errors in the code, but also the logic of code. Make sure that user can interact with generated software without losing any feature in the requirement; Now, you should check the above regulations one by one and review the codes in detail, propose one comment with the highest priority about the codes, and give me instructions on how to fix. Tell me your comment with the highest priority and corresponding suggestions on revision. If the codes are perfect and you have no comment on them, return only one line like " Finished". | -| **phase_name** | CodeReviewComment | -| **assistant_role_prompt** | {chatdev_prompt} You are Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. 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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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. | -| **chat_turn_limit** | 1 | -| **placeholders** | {'cycle_num': 3, 'modification_conclusion': '', 'cycle_index': 1, 'task': 'show me a simple demo', 'modality': 'website', 'ideas': '', 'language': ' Python', 'codes': 'main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\nif __name__ == "__main__":\n main()\n\n\ndemo_gui.py\npython\n\'\'\'\nThis file contains the DemoGUI class which represents the graphical user interface of the demo.\n\'\'\'\nimport tkinter as tk\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo")\n self.label = tk.Label(self.root, text="Welcome to the Demo!")\n self.label.pack(pady=10)\n self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked)\n self.button.pack(pady=5)\n def button_clicked(self):\n self.label.config(text="Button Clicked!")\n\n\n', 'images': ''} | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 22:58:45 INFO] flask app.py did not start for online log -[2023-22-10 22:58:45 INFO] System: **[RolePlaying]** - -| Parameter | Value | -| --- | --- | -| **assistant_role_name** | Code Reviewer | -| **user_role_name** | Programmer | -| **assistant_role_prompt** | {chatdev_prompt} You are Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. 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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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. | -| **task_prompt** | show me a simple demo | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 22:58:47 INFO] flask app.py did not start for online log -[2023-22-10 22:58:47 INFO] Programmer: **[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 Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -According to the new user's task and our software designs: -Task: "show me a simple demo". -Modality: "website". -Programming Language: " Python" -Ideas: "" -Codes: -"main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -''' -This file contains the DemoGUI class which represents the graphical user interface of the demo. -''' -import tkinter as tk -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo") - self.label = tk.Label(self.root, text="Welcome to the Demo!") - self.label.pack(pady=10) - self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) - self.button.pack(pady=5) - def button_clicked(self): - self.label.config(text="Button Clicked!") -``` - -" -As the Code Reviewer, to make the software directly operable without further coding, ChatDev have formulated the following regulations: -1) all referenced classes should be imported; -2) all methods should be implemented; -3) all methods need to have the necessary comments; -4) no potential bugs; -5) The entire project conforms to the tasks proposed by the user; -6) most importantly, do not only check the errors in the code, but also the logic of code. Make sure that user can interact with generated software without losing any feature in the requirement; -Now, you should check the above regulations one by one and review the codes in detail, propose one comment with the highest priority about the codes, and give me instructions on how to fix. Tell me your comment with the highest priority and corresponding suggestions on revision. If the codes are perfect and you have no comment on them, return only one line like " Finished". - -[2023-22-10 22:58:49 INFO] flask app.py did not start for online log -[2023-22-10 22:59:03 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 586 -completion_tokens: 123 -total_tokens: 709 -cost: $0.002250 - - -[2023-22-10 22:59:05 INFO] flask app.py did not start for online log -[2023-22-10 22:59:05 INFO] Code Reviewer: **Code Reviewer<->Programmer on : CodeReviewComment, turn 0** - -[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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - - -The highest priority comment is that the `demo_gui.py` file is missing the import statement for the `tkinter` module. This will cause an error when trying to create the `DemoGUI` object in the `main.py` file. - - -To fix this, add the following import statement at the beginning of the `demo_gui.py` file: - -```python -import tkinter as tk -``` - -This will ensure that the `tkinter` module is available for use in the `DemoGUI` class. - -Once you make this change, the code should be ready for the simple demo. - -[2023-22-10 22:59:07 INFO] flask app.py did not start for online log -[2023-22-10 22:59:07 INFO] **[Seminar Conclusion]**: - - -The highest priority comment is that the `demo_gui.py` file is missing the import statement for the `tkinter` module. This will cause an error when trying to create the `DemoGUI` object in the `main.py` file. - - -To fix this, add the following import statement at the beginning of the `demo_gui.py` file: - -```python -import tkinter as tk -``` - -This will ensure that the `tkinter` module is available for use in the `DemoGUI` class. - -Once you make this change, the code should be ready for the simple demo. - -[2023-22-10 22:59:09 INFO] flask app.py did not start for online log -[2023-22-10 22:59:09 INFO] **[Execute Detail]** - -execute SimplePhase:[CodeReviewModification] in ComposedPhase:[CodeReview], cycle 1 - -[2023-22-10 22:59:12 INFO] flask app.py did not start for online log -[2023-22-10 22:59:12 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | show me a simple demo | -| **need_reflect** | False | -| **assistant_role_name** | Programmer | -| **user_role_name** | Code Reviewer | -| **phase_prompt** | According to the new user's task, our designed product modality, languages and ideas, our developed first-edition source codes are listed below: Task: "{task}". Modality: "{modality}". Programming Language: "{language}" Ideas: "{ideas}" Codes: "{codes}" Comments on Codes: "{comments}" In the software, each file must strictly follow a markdown code block format, where the following tokens must be replaced such that "FILENAME" is the lowercase file name including the file extension, "LANGUAGE" in the programming language, "DOCSTRING" is a string literal specified in source code that is used to document a specific segment of code, and "CODE" is the original code. Format: FILENAME LANGUAGE ''' DOCSTRING ''' CODE As the {assistant_role}, to satisfy the new user's demand and make the software creative, executive and robust, you should modify corresponding codes according to the comments. Then, output the full and complete codes with all bugs fixed based on the comments. Return all codes strictly following the required format. | -| **phase_name** | CodeReviewModification | -| **assistant_role_prompt** | {chatdev_prompt} You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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 Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. 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. | -| **chat_turn_limit** | 1 | -| **placeholders** | {'cycle_num': 3, 'modification_conclusion': '', 'cycle_index': 1, 'task': 'show me a simple demo', 'modality': 'website', 'ideas': '', 'language': ' Python', 'codes': 'main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\nif __name__ == "__main__":\n main()\n\n\ndemo_gui.py\npython\n\'\'\'\nThis file contains the DemoGUI class which represents the graphical user interface of the demo.\n\'\'\'\nimport tkinter as tk\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo")\n self.label = tk.Label(self.root, text="Welcome to the Demo!")\n self.label.pack(pady=10)\n self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked)\n self.button.pack(pady=5)\n def button_clicked(self):\n self.label.config(text="Button Clicked!")\n\n\n', 'images': '', 'comments': '\nThe highest priority comment is that the demo_gui.py file is missing the import statement for the tkinter module. This will cause an error when trying to create the DemoGUI object in the main.py file.\n\n\nTo fix this, add the following import statement at the beginning of the demo_gui.py file:\n\npython\nimport tkinter as tk\n\n\nThis will ensure that the tkinter module is available for use in the DemoGUI class.\n\nOnce you make this change, the code should be ready for the simple demo.'} | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 22:59:14 INFO] flask app.py did not start for online log -[2023-22-10 22:59:14 INFO] System: **[RolePlaying]** - -| Parameter | Value | -| --- | --- | -| **assistant_role_name** | Programmer | -| **user_role_name** | Code Reviewer | -| **assistant_role_prompt** | {chatdev_prompt} You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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 Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. 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. | -| **task_prompt** | show me a simple demo | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 22:59:16 INFO] flask app.py did not start for online log -[2023-22-10 22:59:16 INFO] Code Reviewer: **[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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -According to the new user's task, our designed product modality, languages and ideas, our developed first-edition source codes are listed below: -Task: "show me a simple demo". -Modality: "website". -Programming Language: " Python" -Ideas: "" -Codes: -"main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -''' -This file contains the DemoGUI class which represents the graphical user interface of the demo. -''' -import tkinter as tk -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo") - self.label = tk.Label(self.root, text="Welcome to the Demo!") - self.label.pack(pady=10) - self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) - self.button.pack(pady=5) - def button_clicked(self): - self.label.config(text="Button Clicked!") -``` - -" -Comments on Codes: -" -The highest priority comment is that the `demo_gui.py` file is missing the import statement for the `tkinter` module. This will cause an error when trying to create the `DemoGUI` object in the `main.py` file. - - -To fix this, add the following import statement at the beginning of the `demo_gui.py` file: - -```python -import tkinter as tk -``` - -This will ensure that the `tkinter` module is available for use in the `DemoGUI` class. - -Once you make this change, the code should be ready for the simple demo." -In the software, each file must strictly follow a markdown code block format, where the following tokens must be replaced such that "FILENAME" is the lowercase file name including the file extension, "LANGUAGE" in the programming language, "DOCSTRING" is a string literal specified in source code that is used to document a specific segment of code, and "CODE" is the original code. Format: -FILENAME -```LANGUAGE -''' -DOCSTRING -''' -CODE -``` -As the Programmer, to satisfy the new user's demand and make the software creative, executive and robust, you should modify corresponding codes according to the comments. Then, output the full and complete codes with all bugs fixed based on the comments. Return all codes strictly following the required format. - -[2023-22-10 22:59:18 INFO] flask app.py did not start for online log -[2023-22-10 22:59:57 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 721 -completion_tokens: 353 -total_tokens: 1074 -cost: $0.003575 - - -[2023-22-10 22:59:59 INFO] flask app.py did not start for online log -[2023-22-10 22:59:59 INFO] Programmer: **Programmer<->Code Reviewer on : CodeReviewModification, turn 0** - -[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 Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI - -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() - -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -''' -This file contains the DemoGUI class which represents the graphical user interface of the demo. -''' -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo") - self.label = tk.Label(self.root, text="Welcome to the Demo!") - self.label.pack(pady=10) - self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) - self.button.pack(pady=5) - - def button_clicked(self): - self.label.config(text="Button Clicked!") - -``` - -Comments on Codes: -"The highest priority comment is that the `demo_gui.py` file is missing the import statement for the `tkinter` module. This will cause an error when trying to create the `DemoGUI` object in the `main.py` file. - -To fix this, add the following import statement at the beginning of the `demo_gui.py` file: - -```python -import tkinter as tk -``` - -This will ensure that the `tkinter` module is available for use in the `DemoGUI` class. - -Once you make this change, the code should be ready for the simple demo." - -The code has been modified to include the missing import statement for the `tkinter` module in the `demo_gui.py` file. The updated code is now ready for the simple demo. - -[2023-22-10 23:00:01 INFO] flask app.py did not start for online log -[2023-22-10 23:00:01 INFO] **[Seminar Conclusion]**: - - main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI - -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() - -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -''' -This file contains the DemoGUI class which represents the graphical user interface of the demo. -''' -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo") - self.label = tk.Label(self.root, text="Welcome to the Demo!") - self.label.pack(pady=10) - self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) - self.button.pack(pady=5) - - def button_clicked(self): - self.label.config(text="Button Clicked!") - -``` - -Comments on Codes: -"The highest priority comment is that the `demo_gui.py` file is missing the import statement for the `tkinter` module. This will cause an error when trying to create the `DemoGUI` object in the `main.py` file. - -To fix this, add the following import statement at the beginning of the `demo_gui.py` file: - -```python -import tkinter as tk -``` - -This will ensure that the `tkinter` module is available for use in the `DemoGUI` class. - -Once you make this change, the code should be ready for the simple demo." - -The code has been modified to include the missing import statement for the `tkinter` module in the `demo_gui.py` file. The updated code is now ready for the simple demo. - -[2023-22-10 23:00:03 INFO] flask app.py did not start for online log -[2023-22-10 23:00:03 INFO] **[Update Codes]** - -demo_gui.py updated. - - -``` -''' - -''' ---- Old -+++ New -@@ -1,14 +1 @@ --''' --This file contains the DemoGUI class which represents the graphical user interface of the demo. --''' - import tkinter as tk --class DemoGUI: -- def __init__(self, root): -- self.root = root -- self.root.title("Demo") -- self.label = tk.Label(self.root, text="Welcome to the Demo!") -- self.label.pack(pady=10) -- self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) -- self.button.pack(pady=5) -- def button_clicked(self): -- self.label.config(text="Button Clicked!") -``` - -[2023-22-10 23:00:05 INFO] flask app.py did not start for online log -[2023-22-10 23:00:05 INFO] **[Software Info]**: - - - -💰**cost**=$0.013062 - -🔨**version_updates**=-1 - -📃**num_code_files**=2 - -🏞**num_png_files**=0 - -📚**num_doc_files**=4 - -📃**code_lines**=12 - -📋**env_lines**=-1 - -📒**manual_lines**=-1 - -🗣**num_utterances**=16 - -🤔**num_self_reflections**=0 - -❓**num_prompt_tokens**=6948 - -❗**num_completion_tokens**=1320 - -🌟**num_total_tokens**=8268 - -[2023-22-10 23:00:07 INFO] flask app.py did not start for online log -[2023-22-10 23:00:07 INFO] **[Execute Detail]** - -execute SimplePhase:[CodeReviewComment] in ComposedPhase:[CodeReview], cycle 2 - -[2023-22-10 23:00:09 INFO] flask app.py did not start for online log -[2023-22-10 23:00:09 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | show me a simple demo | -| **need_reflect** | False | -| **assistant_role_name** | Code Reviewer | -| **user_role_name** | Programmer | -| **phase_prompt** | According to the new user's task and our software designs: Task: "{task}". Modality: "{modality}". Programming Language: "{language}" Ideas: "{ideas}" Codes: "{codes}" As the {assistant_role}, to make the software directly operable without further coding, ChatDev have formulated the following regulations: 1) all referenced classes should be imported; 2) all methods should be implemented; 3) all methods need to have the necessary comments; 4) no potential bugs; 5) The entire project conforms to the tasks proposed by the user; 6) most importantly, do not only check the errors in the code, but also the logic of code. Make sure that user can interact with generated software without losing any feature in the requirement; Now, you should check the above regulations one by one and review the codes in detail, propose one comment with the highest priority about the codes, and give me instructions on how to fix. Tell me your comment with the highest priority and corresponding suggestions on revision. If the codes are perfect and you have no comment on them, return only one line like " Finished". | -| **phase_name** | CodeReviewComment | -| **assistant_role_prompt** | {chatdev_prompt} You are Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. 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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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. | -| **chat_turn_limit** | 1 | -| **placeholders** | {'cycle_num': 3, 'modification_conclusion': 'main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\n\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\n\nif __name__ == "__main__":\n main()\n\n\ndemo_gui.py\npython\n\'\'\'\nThis file contains the DemoGUI class which represents the graphical user interface of the demo.\n\'\'\'\nimport tkinter as tk\n\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo")\n self.label = tk.Label(self.root, text="Welcome to the Demo!")\n self.label.pack(pady=10)\n self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked)\n self.button.pack(pady=5)\n\n def button_clicked(self):\n self.label.config(text="Button Clicked!")\n\n\n\nComments on Codes:\n"The highest priority comment is that the demo_gui.py file is missing the import statement for the tkinter module. This will cause an error when trying to create the DemoGUI object in the main.py file.\n\nTo fix this, add the following import statement at the beginning of the demo_gui.py file:\n\npython\nimport tkinter as tk\n\n\nThis will ensure that the tkinter module is available for use in the DemoGUI class.\n\nOnce you make this change, the code should be ready for the simple demo."\n\nThe code has been modified to include the missing import statement for the tkinter module in the demo_gui.py file. The updated code is now ready for the simple demo.', 'cycle_index': 2, 'task': 'show me a simple demo', 'modality': 'website', 'ideas': '', 'language': ' Python', 'codes': 'main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\nif __name__ == "__main__":\n main()\n\n\ndemo_gui.py\npython\nimport tkinter as tk\n\n\n', 'images': '', 'comments': '\nThe highest priority comment is that the demo_gui.py file is missing the import statement for the tkinter module. This will cause an error when trying to create the DemoGUI object in the main.py file.\n\n\nTo fix this, add the following import statement at the beginning of the demo_gui.py file:\n\npython\nimport tkinter as tk\n\n\nThis will ensure that the tkinter module is available for use in the DemoGUI class.\n\nOnce you make this change, the code should be ready for the simple demo.'} | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:00:11 INFO] flask app.py did not start for online log -[2023-22-10 23:00:11 INFO] System: **[RolePlaying]** - -| Parameter | Value | -| --- | --- | -| **assistant_role_name** | Code Reviewer | -| **user_role_name** | Programmer | -| **assistant_role_prompt** | {chatdev_prompt} You are Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. 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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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. | -| **task_prompt** | show me a simple demo | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:00:13 INFO] flask app.py did not start for online log -[2023-22-10 23:00:13 INFO] Programmer: **[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 Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -According to the new user's task and our software designs: -Task: "show me a simple demo". -Modality: "website". -Programming Language: " Python" -Ideas: "" -Codes: -"main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -import tkinter as tk -``` - -" -As the Code Reviewer, to make the software directly operable without further coding, ChatDev have formulated the following regulations: -1) all referenced classes should be imported; -2) all methods should be implemented; -3) all methods need to have the necessary comments; -4) no potential bugs; -5) The entire project conforms to the tasks proposed by the user; -6) most importantly, do not only check the errors in the code, but also the logic of code. Make sure that user can interact with generated software without losing any feature in the requirement; -Now, you should check the above regulations one by one and review the codes in detail, propose one comment with the highest priority about the codes, and give me instructions on how to fix. Tell me your comment with the highest priority and corresponding suggestions on revision. If the codes are perfect and you have no comment on them, return only one line like " Finished". - -[2023-22-10 23:00:15 INFO] flask app.py did not start for online log -[2023-22-10 23:00:38 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 472 -completion_tokens: 203 -total_tokens: 675 -cost: $0.002228 - - -[2023-22-10 23:00:40 INFO] flask app.py did not start for online log -[2023-22-10 23:00:40 INFO] Code Reviewer: **Code Reviewer<->Programmer on : CodeReviewComment, turn 0** - -[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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -Based on the provided code, here is my review: - -Comment with the highest priority: The `DemoGUI` class is not implemented in the code. - -Suggestion for revision: To fix this issue, you need to implement the `DemoGUI` class in the `demo_gui.py` file. Here's an example of how you can implement it: - -```python -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - # Add your GUI elements and logic here - - self.create_widgets() - - def create_widgets(self): - # Create and configure your GUI widgets here - pass -``` - -Make sure to add the necessary GUI elements and logic inside the `DemoGUI` class according to your requirements. - -Once you have implemented the `DemoGUI` class, the code should be able to run without any errors. - -Please let me know if you need any further assistance or if you have any other questions. - -[2023-22-10 23:00:42 INFO] flask app.py did not start for online log -[2023-22-10 23:00:42 INFO] **[Seminar Conclusion]**: - - Based on the provided code, here is my review: - -Comment with the highest priority: The `DemoGUI` class is not implemented in the code. - -Suggestion for revision: To fix this issue, you need to implement the `DemoGUI` class in the `demo_gui.py` file. Here's an example of how you can implement it: - -```python -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - # Add your GUI elements and logic here - - self.create_widgets() - - def create_widgets(self): - # Create and configure your GUI widgets here - pass -``` - -Make sure to add the necessary GUI elements and logic inside the `DemoGUI` class according to your requirements. - -Once you have implemented the `DemoGUI` class, the code should be able to run without any errors. - -Please let me know if you need any further assistance or if you have any other questions. - -[2023-22-10 23:00:44 INFO] flask app.py did not start for online log -[2023-22-10 23:00:44 INFO] **[Execute Detail]** - -execute SimplePhase:[CodeReviewModification] in ComposedPhase:[CodeReview], cycle 2 - -[2023-22-10 23:00:46 INFO] flask app.py did not start for online log -[2023-22-10 23:00:46 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | show me a simple demo | -| **need_reflect** | False | -| **assistant_role_name** | Programmer | -| **user_role_name** | Code Reviewer | -| **phase_prompt** | According to the new user's task, our designed product modality, languages and ideas, our developed first-edition source codes are listed below: Task: "{task}". Modality: "{modality}". Programming Language: "{language}" Ideas: "{ideas}" Codes: "{codes}" Comments on Codes: "{comments}" In the software, each file must strictly follow a markdown code block format, where the following tokens must be replaced such that "FILENAME" is the lowercase file name including the file extension, "LANGUAGE" in the programming language, "DOCSTRING" is a string literal specified in source code that is used to document a specific segment of code, and "CODE" is the original code. Format: FILENAME LANGUAGE ''' DOCSTRING ''' CODE As the {assistant_role}, to satisfy the new user's demand and make the software creative, executive and robust, you should modify corresponding codes according to the comments. Then, output the full and complete codes with all bugs fixed based on the comments. Return all codes strictly following the required format. | -| **phase_name** | CodeReviewModification | -| **assistant_role_prompt** | {chatdev_prompt} You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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 Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. 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. | -| **chat_turn_limit** | 1 | -| **placeholders** | {'cycle_num': 3, 'modification_conclusion': 'main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\n\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\n\nif __name__ == "__main__":\n main()\n\n\ndemo_gui.py\npython\n\'\'\'\nThis file contains the DemoGUI class which represents the graphical user interface of the demo.\n\'\'\'\nimport tkinter as tk\n\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo")\n self.label = tk.Label(self.root, text="Welcome to the Demo!")\n self.label.pack(pady=10)\n self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked)\n self.button.pack(pady=5)\n\n def button_clicked(self):\n self.label.config(text="Button Clicked!")\n\n\n\nComments on Codes:\n"The highest priority comment is that the demo_gui.py file is missing the import statement for the tkinter module. This will cause an error when trying to create the DemoGUI object in the main.py file.\n\nTo fix this, add the following import statement at the beginning of the demo_gui.py file:\n\npython\nimport tkinter as tk\n\n\nThis will ensure that the tkinter module is available for use in the DemoGUI class.\n\nOnce you make this change, the code should be ready for the simple demo."\n\nThe code has been modified to include the missing import statement for the tkinter module in the demo_gui.py file. The updated code is now ready for the simple demo.', 'cycle_index': 2, 'task': 'show me a simple demo', 'modality': 'website', 'ideas': '', 'language': ' Python', 'codes': 'main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\nif __name__ == "__main__":\n main()\n\n\ndemo_gui.py\npython\nimport tkinter as tk\n\n\n', 'images': '', 'comments': 'Based on the provided code, here is my review:\n\nComment with the highest priority: The DemoGUI class is not implemented in the code.\n\nSuggestion for revision: To fix this issue, you need to implement the DemoGUI class in the demo_gui.py file. Here\'s an example of how you can implement it:\n\npython\nimport tkinter as tk\n\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo GUI")\n # Add your GUI elements and logic here\n\n self.create_widgets()\n\n def create_widgets(self):\n # Create and configure your GUI widgets here\n pass\n\n\nMake sure to add the necessary GUI elements and logic inside the DemoGUI class according to your requirements.\n\nOnce you have implemented the DemoGUI class, the code should be able to run without any errors.\n\nPlease let me know if you need any further assistance or if you have any other questions.'} | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:00:48 INFO] flask app.py did not start for online log -[2023-22-10 23:00:48 INFO] System: **[RolePlaying]** - -| Parameter | Value | -| --- | --- | -| **assistant_role_name** | Programmer | -| **user_role_name** | Code Reviewer | -| **assistant_role_prompt** | {chatdev_prompt} You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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 Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. 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. | -| **task_prompt** | show me a simple demo | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:00:50 INFO] flask app.py did not start for online log -[2023-22-10 23:00:50 INFO] Code Reviewer: **[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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -According to the new user's task, our designed product modality, languages and ideas, our developed first-edition source codes are listed below: -Task: "show me a simple demo". -Modality: "website". -Programming Language: " Python" -Ideas: "" -Codes: -"main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -import tkinter as tk -``` - -" -Comments on Codes: -"Based on the provided code, here is my review: - -Comment with the highest priority: The `DemoGUI` class is not implemented in the code. - -Suggestion for revision: To fix this issue, you need to implement the `DemoGUI` class in the `demo_gui.py` file. Here's an example of how you can implement it: - -```python -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - # Add your GUI elements and logic here - - self.create_widgets() - - def create_widgets(self): - # Create and configure your GUI widgets here - pass -``` - -Make sure to add the necessary GUI elements and logic inside the `DemoGUI` class according to your requirements. - -Once you have implemented the `DemoGUI` class, the code should be able to run without any errors. - -Please let me know if you need any further assistance or if you have any other questions." -In the software, each file must strictly follow a markdown code block format, where the following tokens must be replaced such that "FILENAME" is the lowercase file name including the file extension, "LANGUAGE" in the programming language, "DOCSTRING" is a string literal specified in source code that is used to document a specific segment of code, and "CODE" is the original code. Format: -FILENAME -```LANGUAGE -''' -DOCSTRING -''' -CODE -``` -As the Programmer, to satisfy the new user's demand and make the software creative, executive and robust, you should modify corresponding codes according to the comments. Then, output the full and complete codes with all bugs fixed based on the comments. Return all codes strictly following the required format. - -[2023-22-10 23:00:52 INFO] flask app.py did not start for online log -[2023-22-10 23:01:12 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 687 -completion_tokens: 173 -total_tokens: 860 -cost: $0.002753 - - -[2023-22-10 23:01:14 INFO] flask app.py did not start for online log -[2023-22-10 23:01:14 INFO] Programmer: **Programmer<->Code Reviewer on : CodeReviewModification, turn 0** - -[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 Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI - -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() - -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - # Add your GUI elements and logic here - - self.create_widgets() - - def create_widgets(self): - # Create and configure your GUI widgets here - pass -``` - -Please note that the code provided above is a template and you need to add your own GUI elements and logic inside the `DemoGUI` class according to your requirements. - -[2023-22-10 23:01:16 INFO] flask app.py did not start for online log -[2023-22-10 23:01:16 INFO] **[Seminar Conclusion]**: - - main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI - -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() - -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - # Add your GUI elements and logic here - - self.create_widgets() - - def create_widgets(self): - # Create and configure your GUI widgets here - pass -``` - -Please note that the code provided above is a template and you need to add your own GUI elements and logic inside the `DemoGUI` class according to your requirements. - -[2023-22-10 23:01:18 INFO] flask app.py did not start for online log -[2023-22-10 23:01:18 INFO] **[Update Codes]** - -demo_gui.py updated. - - -``` -''' - -''' ---- Old -+++ New -@@ -1 +1,10 @@ - import tkinter as tk -+class DemoGUI: -+ def __init__(self, root): -+ self.root = root -+ self.root.title("Demo GUI") -+ # Add your GUI elements and logic here -+ self.create_widgets() -+ def create_widgets(self): -+ # Create and configure your GUI widgets here -+ pass -``` - -[2023-22-10 23:01:20 INFO] flask app.py did not start for online log -[2023-22-10 23:01:20 INFO] **[Software Info]**: - - - -💰**cost**=$0.015553 - -🔨**version_updates**=-1 - -📃**num_code_files**=2 - -🏞**num_png_files**=0 - -📚**num_doc_files**=4 - -📃**code_lines**=21 - -📋**env_lines**=-1 - -📒**manual_lines**=-1 - -🗣**num_utterances**=20 - -🤔**num_self_reflections**=0 - -❓**num_prompt_tokens**=8107 - -❗**num_completion_tokens**=1696 - -🌟**num_total_tokens**=9803 - -[2023-22-10 23:01:22 INFO] flask app.py did not start for online log -[2023-22-10 23:01:22 INFO] **[Execute Detail]** - -execute SimplePhase:[CodeReviewComment] in ComposedPhase:[CodeReview], cycle 3 - -[2023-22-10 23:01:24 INFO] flask app.py did not start for online log -[2023-22-10 23:01:24 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | show me a simple demo | -| **need_reflect** | False | -| **assistant_role_name** | Code Reviewer | -| **user_role_name** | Programmer | -| **phase_prompt** | According to the new user's task and our software designs: Task: "{task}". Modality: "{modality}". Programming Language: "{language}" Ideas: "{ideas}" Codes: "{codes}" As the {assistant_role}, to make the software directly operable without further coding, ChatDev have formulated the following regulations: 1) all referenced classes should be imported; 2) all methods should be implemented; 3) all methods need to have the necessary comments; 4) no potential bugs; 5) The entire project conforms to the tasks proposed by the user; 6) most importantly, do not only check the errors in the code, but also the logic of code. Make sure that user can interact with generated software without losing any feature in the requirement; Now, you should check the above regulations one by one and review the codes in detail, propose one comment with the highest priority about the codes, and give me instructions on how to fix. Tell me your comment with the highest priority and corresponding suggestions on revision. If the codes are perfect and you have no comment on them, return only one line like " Finished". | -| **phase_name** | CodeReviewComment | -| **assistant_role_prompt** | {chatdev_prompt} You are Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. 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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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. | -| **chat_turn_limit** | 1 | -| **placeholders** | {'cycle_num': 3, 'modification_conclusion': 'main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\n\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\n\nif __name__ == "__main__":\n main()\n\n\ndemo_gui.py\npython\nimport tkinter as tk\n\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo GUI")\n # Add your GUI elements and logic here\n\n self.create_widgets()\n\n def create_widgets(self):\n # Create and configure your GUI widgets here\n pass\n\n\nPlease note that the code provided above is a template and you need to add your own GUI elements and logic inside the DemoGUI class according to your requirements.', 'cycle_index': 3, 'task': 'show me a simple demo', 'modality': 'website', 'ideas': '', 'language': ' Python', 'codes': 'main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\nif __name__ == "__main__":\n main()\n\n\ndemo_gui.py\npython\nimport tkinter as tk\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo GUI")\n # Add your GUI elements and logic here\n self.create_widgets()\n def create_widgets(self):\n # Create and configure your GUI widgets here\n pass\n\n\n', 'images': '', 'comments': 'Based on the provided code, here is my review:\n\nComment with the highest priority: The DemoGUI class is not implemented in the code.\n\nSuggestion for revision: To fix this issue, you need to implement the DemoGUI class in the demo_gui.py file. Here\'s an example of how you can implement it:\n\npython\nimport tkinter as tk\n\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo GUI")\n # Add your GUI elements and logic here\n\n self.create_widgets()\n\n def create_widgets(self):\n # Create and configure your GUI widgets here\n pass\n\n\nMake sure to add the necessary GUI elements and logic inside the DemoGUI class according to your requirements.\n\nOnce you have implemented the DemoGUI class, the code should be able to run without any errors.\n\nPlease let me know if you need any further assistance or if you have any other questions.'} | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:01:26 INFO] flask app.py did not start for online log -[2023-22-10 23:01:26 INFO] System: **[RolePlaying]** - -| Parameter | Value | -| --- | --- | -| **assistant_role_name** | Code Reviewer | -| **user_role_name** | Programmer | -| **assistant_role_prompt** | {chatdev_prompt} You are Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. 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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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. | -| **task_prompt** | show me a simple demo | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:01:28 INFO] flask app.py did not start for online log -[2023-22-10 23:01:28 INFO] Programmer: **[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 Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -According to the new user's task and our software designs: -Task: "show me a simple demo". -Modality: "website". -Programming Language: " Python" -Ideas: "" -Codes: -"main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -import tkinter as tk -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - # Add your GUI elements and logic here - self.create_widgets() - def create_widgets(self): - # Create and configure your GUI widgets here - pass -``` - -" -As the Code Reviewer, to make the software directly operable without further coding, ChatDev have formulated the following regulations: -1) all referenced classes should be imported; -2) all methods should be implemented; -3) all methods need to have the necessary comments; -4) no potential bugs; -5) The entire project conforms to the tasks proposed by the user; -6) most importantly, do not only check the errors in the code, but also the logic of code. Make sure that user can interact with generated software without losing any feature in the requirement; -Now, you should check the above regulations one by one and review the codes in detail, propose one comment with the highest priority about the codes, and give me instructions on how to fix. Tell me your comment with the highest priority and corresponding suggestions on revision. If the codes are perfect and you have no comment on them, return only one line like " Finished". - -[2023-22-10 23:01:30 INFO] flask app.py did not start for online log -[2023-22-10 23:01:45 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 533 -completion_tokens: 130 -total_tokens: 663 -cost: $0.002119 - - -[2023-22-10 23:01:47 INFO] flask app.py did not start for online log -[2023-22-10 23:01:47 INFO] Code Reviewer: **Code Reviewer<->Programmer on : CodeReviewComment, turn 0** - -[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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - - The code is missing the necessary import statement for the `DemoGUI` class in the `main.py` file. To fix this, you need to add the import statement for `DemoGUI` at the top of the `main.py` file. - -Here's the revised `main.py` code: - -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI - -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() - -if __name__ == "__main__": - main() -``` - - Finished. - -[2023-22-10 23:01:49 INFO] flask app.py did not start for online log -[2023-22-10 23:01:49 INFO] **[Seminar Conclusion]**: - - The code is missing the necessary import statement for the `DemoGUI` class in the `main.py` file. To fix this, you need to add the import statement for `DemoGUI` at the top of the `main.py` file. - -Here's the revised `main.py` code: - -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI - -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() - -if __name__ == "__main__": - main() -``` - - Finished. - -[2023-22-10 23:01:51 INFO] flask app.py did not start for online log -[2023-22-10 23:01:51 INFO] **[Execute Detail]** - -execute SimplePhase:[CodeReviewModification] in ComposedPhase:[CodeReview], cycle 3 - -[2023-22-10 23:01:53 INFO] flask app.py did not start for online log -[2023-22-10 23:01:53 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | show me a simple demo | -| **need_reflect** | False | -| **assistant_role_name** | Programmer | -| **user_role_name** | Code Reviewer | -| **phase_prompt** | According to the new user's task, our designed product modality, languages and ideas, our developed first-edition source codes are listed below: Task: "{task}". Modality: "{modality}". Programming Language: "{language}" Ideas: "{ideas}" Codes: "{codes}" Comments on Codes: "{comments}" In the software, each file must strictly follow a markdown code block format, where the following tokens must be replaced such that "FILENAME" is the lowercase file name including the file extension, "LANGUAGE" in the programming language, "DOCSTRING" is a string literal specified in source code that is used to document a specific segment of code, and "CODE" is the original code. Format: FILENAME LANGUAGE ''' DOCSTRING ''' CODE As the {assistant_role}, to satisfy the new user's demand and make the software creative, executive and robust, you should modify corresponding codes according to the comments. Then, output the full and complete codes with all bugs fixed based on the comments. Return all codes strictly following the required format. | -| **phase_name** | CodeReviewModification | -| **assistant_role_prompt** | {chatdev_prompt} You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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 Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. 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. | -| **chat_turn_limit** | 1 | -| **placeholders** | {'cycle_num': 3, 'modification_conclusion': 'main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\n\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\n\nif __name__ == "__main__":\n main()\n\n\ndemo_gui.py\npython\nimport tkinter as tk\n\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo GUI")\n # Add your GUI elements and logic here\n\n self.create_widgets()\n\n def create_widgets(self):\n # Create and configure your GUI widgets here\n pass\n\n\nPlease note that the code provided above is a template and you need to add your own GUI elements and logic inside the DemoGUI class according to your requirements.', 'cycle_index': 3, 'task': 'show me a simple demo', 'modality': 'website', 'ideas': '', 'language': ' Python', 'codes': 'main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\nif __name__ == "__main__":\n main()\n\n\ndemo_gui.py\npython\nimport tkinter as tk\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo GUI")\n # Add your GUI elements and logic here\n self.create_widgets()\n def create_widgets(self):\n # Create and configure your GUI widgets here\n pass\n\n\n', 'images': '', 'comments': ' Finished.'} | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:01:55 INFO] flask app.py did not start for online log -[2023-22-10 23:01:55 INFO] System: **[RolePlaying]** - -| Parameter | Value | -| --- | --- | -| **assistant_role_name** | Programmer | -| **user_role_name** | Code Reviewer | -| **assistant_role_prompt** | {chatdev_prompt} You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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 Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. 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. | -| **task_prompt** | show me a simple demo | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:01:57 INFO] flask app.py did not start for online log -[2023-22-10 23:01:57 INFO] Code Reviewer: **[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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -According to the new user's task, our designed product modality, languages and ideas, our developed first-edition source codes are listed below: -Task: "show me a simple demo". -Modality: "website". -Programming Language: " Python" -Ideas: "" -Codes: -"main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -import tkinter as tk -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - # Add your GUI elements and logic here - self.create_widgets() - def create_widgets(self): - # Create and configure your GUI widgets here - pass -``` - -" -Comments on Codes: -" Finished." -In the software, each file must strictly follow a markdown code block format, where the following tokens must be replaced such that "FILENAME" is the lowercase file name including the file extension, "LANGUAGE" in the programming language, "DOCSTRING" is a string literal specified in source code that is used to document a specific segment of code, and "CODE" is the original code. Format: -FILENAME -```LANGUAGE -''' -DOCSTRING -''' -CODE -``` -As the Programmer, to satisfy the new user's demand and make the software creative, executive and robust, you should modify corresponding codes according to the comments. Then, output the full and complete codes with all bugs fixed based on the comments. Return all codes strictly following the required format. - -[2023-22-10 23:01:59 INFO] flask app.py did not start for online log -[2023-22-10 23:02:40 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 547 -completion_tokens: 363 -total_tokens: 910 -cost: $0.003093 - - -[2023-22-10 23:02:42 INFO] flask app.py did not start for online log -[2023-22-10 23:02:42 INFO] Programmer: **Programmer<->Code Reviewer on : CodeReviewModification, turn 0** - -[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 Code Reviewer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can help programmers to assess source codes for software troubleshooting, fix bugs to increase code quality and robustness, and offer proposals to improve the source codes. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI - -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() - -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - # Add your GUI elements and logic here - self.create_widgets() - - def create_widgets(self): - # Create and configure your GUI widgets here - pass -``` - -The provided code is already in the correct format. However, it is missing the implementation of GUI elements and logic. To create a simple demo, let's add a label and a button to the GUI. - -Updated demo_gui.py -```python -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - self.create_widgets() - - def create_widgets(self): - self.label = tk.Label(self.root, text="Hello, World!") - self.label.pack() - - self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) - self.button.pack() - - def button_clicked(self): - self.label.config(text="Button Clicked!") -``` - -Now, when you run the main.py file, it will display a window with a label saying "Hello, World!" and a button labeled "Click Me". When the button is clicked, the label's text will change to "Button Clicked!". - -Please note that this is a simple demo and can be further enhanced based on specific requirements. - -[2023-22-10 23:02:44 INFO] flask app.py did not start for online log -[2023-22-10 23:02:44 INFO] **[Seminar Conclusion]**: - - main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI - -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() - -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - # Add your GUI elements and logic here - self.create_widgets() - - def create_widgets(self): - # Create and configure your GUI widgets here - pass -``` - -The provided code is already in the correct format. However, it is missing the implementation of GUI elements and logic. To create a simple demo, let's add a label and a button to the GUI. - -Updated demo_gui.py -```python -import tkinter as tk - -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - self.create_widgets() - - def create_widgets(self): - self.label = tk.Label(self.root, text="Hello, World!") - self.label.pack() - - self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) - self.button.pack() - - def button_clicked(self): - self.label.config(text="Button Clicked!") -``` - -Now, when you run the main.py file, it will display a window with a label saying "Hello, World!" and a button labeled "Click Me". When the button is clicked, the label's text will change to "Button Clicked!". - -Please note that this is a simple demo and can be further enhanced based on specific requirements. - -[2023-22-10 23:02:47 INFO] flask app.py did not start for online log -[2023-22-10 23:02:47 INFO] **[Update Codes]** - -demo_gui.py updated. - - -``` -''' - -''' ---- Old -+++ New -@@ -3,8 +3,11 @@ - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") -- # Add your GUI elements and logic here - self.create_widgets() - def create_widgets(self): -- # Create and configure your GUI widgets here -- pass -+ self.label = tk.Label(self.root, text="Hello, World!") -+ self.label.pack() -+ self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) -+ self.button.pack() -+ def button_clicked(self): -+ self.label.config(text="Button Clicked!") -``` - -[2023-22-10 23:02:49 INFO] flask app.py did not start for online log -[2023-22-10 23:02:49 INFO] **[Software Info]**: - - - -💰**cost**=$0.018159 - -🔨**version_updates**=-1 - -📃**num_code_files**=2 - -🏞**num_png_files**=0 - -📚**num_doc_files**=4 - -📃**code_lines**=24 - -📋**env_lines**=-1 - -📒**manual_lines**=-1 - -🗣**num_utterances**=24 - -🤔**num_self_reflections**=0 - -❓**num_prompt_tokens**=9187 - -❗**num_completion_tokens**=2189 - -🌟**num_total_tokens**=11376 - -[2023-22-10 23:02:51 INFO] flask app.py did not start for online log -[2023-22-10 23:02:51 INFO] **[Execute Detail]** - -execute SimplePhase:[TestErrorSummary] in ComposedPhase:[Test], cycle 1 - -[2023-22-10 23:02:53 INFO] flask app.py did not start for online log -[2023-22-10 23:02:56 INFO] **[Test Reports]**: - -The software run successfully without errors. - -[2023-22-10 23:02:58 INFO] flask app.py did not start for online log -[2023-22-10 23:02:58 INFO] **[Test Info]** - -AI User (Software Test Engineer): -Test Pass! - - -[2023-22-10 23:03:00 INFO] flask app.py did not start for online log -[2023-22-10 23:03:00 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | show me a simple demo | -| **need_reflect** | True | -| **assistant_role_name** | Programmer | -| **user_role_name** | Chief Technology Officer | -| **phase_prompt** | The new user's task and our developed codes are listed: Task: "{task}". Modality: "{modality}". Programming Language: "{language}" Ideas: "{ideas}" Codes: "{codes}" As the {assistant_role}, you should write a requirements.txt file, which is commonly used in Python projects to specify the dependencies or packages required for the project to run properly. It serves as a way to document and manage the project's dependencies in a standardized format. For example: requirements.txt ``` numpy==1.19.2 pandas>=1.1.4 ``` According to the codes and file format listed above, write a requirements.txt file to specify the dependencies or packages required for the project to run properly. | -| **phase_name** | EnvironmentDoc | -| **assistant_role_prompt** | {chatdev_prompt} You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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 Technology 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 very familiar to information technology. You will make high-level decisions for the overarching technology infrastructure that closely align with the organization's goals, while you work alongside the organization's information technology ("IT") staff members to perform everyday operations. 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. | -| **chat_turn_limit** | 1 | -| **placeholders** | {'task': 'show me a simple demo', 'modality': 'website', 'ideas': '', 'language': ' Python', 'codes': 'main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\nif __name__ == "__main__":\n main()\n\n\ndemo_gui.py\npython\nimport tkinter as tk\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo GUI")\n self.create_widgets()\n def create_widgets(self):\n self.label = tk.Label(self.root, text="Hello, World!")\n self.label.pack()\n self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked)\n self.button.pack()\n def button_clicked(self):\n self.label.config(text="Button Clicked!")\n\n\n'} | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:03:02 INFO] flask app.py did not start for online log -[2023-22-10 23:03:02 INFO] System: **[RolePlaying]** - -| Parameter | Value | -| --- | --- | -| **assistant_role_name** | Programmer | -| **user_role_name** | Chief Technology Officer | -| **assistant_role_prompt** | {chatdev_prompt} You are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. 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 Technology 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 very familiar to information technology. You will make high-level decisions for the overarching technology infrastructure that closely align with the organization's goals, while you work alongside the organization's information technology ("IT") staff members to perform everyday operations. 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. | -| **task_prompt** | show me a simple demo | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:03:04 INFO] flask app.py did not start for online log -[2023-22-10 23:03:04 INFO] Chief Technology 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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -The new user's task and our developed codes are listed: - -Task: "show me a simple demo". - -Modality: "website". - -Programming Language: " Python" - -Ideas: "" - -Codes: - -"main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -import tkinter as tk -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - self.create_widgets() - def create_widgets(self): - self.label = tk.Label(self.root, text="Hello, World!") - self.label.pack() - self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) - self.button.pack() - def button_clicked(self): - self.label.config(text="Button Clicked!") -``` - -" - -As the Programmer, you should write a requirements.txt file, which is commonly used in Python projects to specify the dependencies or packages required for the project to run properly. It serves as a way to document and manage the project's dependencies in a standardized format. For example: - -requirements.txt - -``` - -numpy==1.19.2 - -pandas>=1.1.4 - -``` - -According to the codes and file format listed above, write a requirements.txt file to specify the dependencies or packages required for the project to run properly. - -[2023-22-10 23:03:06 INFO] flask app.py did not start for online log -[2023-22-10 23:03:22 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 517 -completion_tokens: 104 -total_tokens: 621 -cost: $0.001967 - - -[2023-22-10 23:03:24 INFO] flask app.py did not start for online log -[2023-22-10 23:03:24 INFO] Programmer: **Programmer<->Chief Technology Officer on : EnvironmentDoc, turn 0** - -[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 Technology 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 very familiar to information technology. You will make high-level decisions for the overarching technology infrastructure that closely align with the organization's goals, while you work alongside the organization's information technology ("IT") staff members to perform everyday operations. -Here is a new customer's task: show me a simple demo. -To complete the task, You must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -To specify the dependencies or packages required for the project to run properly, you can create a requirements.txt file. In this case, the project requires the tkinter package, which is a standard Python package for creating GUI applications. Here's an example of a requirements.txt file for this project: - -requirements.txt - -``` -tkinter==8.6 -``` - -This file specifies that the project requires the tkinter package with a minimum version of 8.6. You can create this file and include it in the project directory. - -[2023-22-10 23:03:27 INFO] flask app.py did not start for online log -[2023-22-10 23:03:27 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | show me a simple demo | -| **assistant_role_name** | Chief Executive Officer | -| **user_role_name** | Counselor | -| **phase_prompt** | Here is a conversation between two roles: {conversations} {question} | -| **phase_name** | Reflection | -| **assistant_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. | -| **user_role_prompt** | {chatdev_prompt} You are Counselor. Now, we share a common interest in collaborating to successfully complete a task assigned by a new customer. Your main responsibilities include asking what user and customer think and provide your valuable suggestions. 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. | -| **placeholders** | {'conversations': 'Programmer: 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".\nYou are Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer.\nYou can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.\nHere is a new customer\'s task: show me a simple demo.\nTo complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer\'s needs.\n\nChief Technology Officer: The new user\'s task and our developed codes are listed: \nTask: "show me a simple demo".\nModality: "website".\nProgramming Language: " Python"\nIdeas: ""\nCodes: \n"main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\nif __name__ == "__main__":\n main()\n\ndemo_gui.py\npython\nimport tkinter as tk\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo GUI")\n self.create_widgets()\n def create_widgets(self):\n self.label = tk.Label(self.root, text="Hello, World!")\n self.label.pack()\n self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked)\n self.button.pack()\n def button_clicked(self):\n self.label.config(text="Button Clicked!")\n\n"\nAs the Programmer, you should write a requirements.txt file, which is commonly used in Python projects to specify the dependencies or packages required for the project to run properly. It serves as a way to document and manage the project\'s dependencies in a standardized format. For example:\nrequirements.txt\n\nnumpy==1.19.2\npandas>=1.1.4\n\nAccording to the codes and file format listed above, write a requirements.txt file to specify the dependencies or packages required for the project to run properly.\n\nProgrammer: To specify the dependencies or packages required for the project to run properly, you can create a requirements.txt file. In this case, the project requires the tkinter package, which is a standard Python package for creating GUI applications. Here\'s an example of a requirements.txt file for this project:\nrequirements.txt\n\ntkinter==8.6\n\nThis file specifies that the project requires the tkinter package with a minimum version of 8.6. You can create this file and include it in the project directory.', 'question': 'According to the codes and file format listed above, write a requirements.txt file to specify the dependencies or packages required for the project to run properly." '} | -| **need_reflect** | False | -| **chat_turn_limit** | 1 | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:03:29 INFO] flask app.py did not start for online log -[2023-22-10 23:03:29 INFO] System: **[RolePlaying]** - -| Parameter | Value | -| --- | --- | -| **assistant_role_name** | Chief Executive Officer | -| **user_role_name** | Counselor | -| **assistant_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. | -| **user_role_prompt** | {chatdev_prompt} You are Counselor. Now, we share a common interest in collaborating to successfully complete a task assigned by a new customer. Your main responsibilities include asking what user and customer think and provide your valuable suggestions. 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** | show me a simple demo | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:03:31 INFO] flask app.py did not start for online log -[2023-22-10 23:03:31 INFO] Counselor: **[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 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: show me a simple demo. -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.] - -Here is a conversation between two roles: Programmer: 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 Programmer. we are both working at ChatDev. We share a common interest in collaborating to successfully complete a task assigned by a new customer. -You can write/create computer software or applications by providing a specific programming language to the computer. You have extensive computing and coding experience in many varieties of programming languages and platforms, such as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,. -Here is a new customer's task: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs. - -Chief Technology Officer: The new user's task and our developed codes are listed: -Task: "show me a simple demo". -Modality: "website". -Programming Language: " Python" -Ideas: "" -Codes: -"main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() -if __name__ == "__main__": - main() -``` -demo_gui.py -```python -import tkinter as tk -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - self.create_widgets() - def create_widgets(self): - self.label = tk.Label(self.root, text="Hello, World!") - self.label.pack() - self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) - self.button.pack() - def button_clicked(self): - self.label.config(text="Button Clicked!") -``` -" -As the Programmer, you should write a requirements.txt file, which is commonly used in Python projects to specify the dependencies or packages required for the project to run properly. It serves as a way to document and manage the project's dependencies in a standardized format. For example: -requirements.txt -``` -numpy==1.19.2 -pandas>=1.1.4 -``` -According to the codes and file format listed above, write a requirements.txt file to specify the dependencies or packages required for the project to run properly. - -Programmer: To specify the dependencies or packages required for the project to run properly, you can create a requirements.txt file. In this case, the project requires the tkinter package, which is a standard Python package for creating GUI applications. Here's an example of a requirements.txt file for this project: -requirements.txt -``` -tkinter==8.6 -``` -This file specifies that the project requires the tkinter package with a minimum version of 8.6. You can create this file and include it in the project directory. According to the codes and file format listed above, write a requirements.txt file to specify the dependencies or packages required for the project to run properly." - -[2023-22-10 23:03:33 INFO] flask app.py did not start for online log -[2023-22-10 23:03:48 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 859 -completion_tokens: 141 -total_tokens: 1000 -cost: $0.003141 - - -[2023-22-10 23:03:50 INFO] flask app.py did not start for online log -[2023-22-10 23:03:50 INFO] Chief Executive Officer: **Chief Executive Officer<->Counselor on : Reflection, turn 0** - -[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 Counselor. Now, we share a common interest in collaborating to successfully complete a task assigned by a new customer. -Your main responsibilities include asking what user and customer think and provide your valuable suggestions. -Here is a new customer's task: show me a simple demo. -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.] - -Chief Executive Officer: Thank you for providing the solution, Programmer. It seems like you have accurately identified the required package for the project. However, I would suggest a small modification to the requirements.txt file. Instead of specifying the tkinter package with a specific version, we can use the generic package name "tkinter" without specifying a version. This allows the user to install the latest compatible version of the package. - -Here's an updated version of the requirements.txt file: - -requirements.txt -``` -tkinter -``` - -This file specifies that the project requires the tkinter package without specifying a specific version. This allows the user to install the latest compatible version of the package. Please update the requirements.txt file accordingly. - -[2023-22-10 23:03:52 INFO] flask app.py did not start for online log -[2023-22-10 23:03:52 INFO] **[Seminar Conclusion]**: - - Chief Executive Officer: Thank you for providing the solution, Programmer. It seems like you have accurately identified the required package for the project. However, I would suggest a small modification to the requirements.txt file. Instead of specifying the tkinter package with a specific version, we can use the generic package name "tkinter" without specifying a version. This allows the user to install the latest compatible version of the package. - -Here's an updated version of the requirements.txt file: - -requirements.txt -``` -tkinter -``` - -This file specifies that the project requires the tkinter package without specifying a specific version. This allows the user to install the latest compatible version of the package. Please update the requirements.txt file accordingly. - -[2023-22-10 23:03:55 INFO] flask app.py did not start for online log -[2023-22-10 23:03:55 INFO] **[Seminar Conclusion]**: - - Chief Executive Officer: Thank you for providing the solution, Programmer. It seems like you have accurately identified the required package for the project. However, I would suggest a small modification to the requirements.txt file. Instead of specifying the tkinter package with a specific version, we can use the generic package name "tkinter" without specifying a version. This allows the user to install the latest compatible version of the package. - -Here's an updated version of the requirements.txt file: - -requirements.txt -``` -tkinter -``` - -This file specifies that the project requires the tkinter package without specifying a specific version. This allows the user to install the latest compatible version of the package. Please update the requirements.txt file accordingly. - -[2023-22-10 23:03:57 INFO] flask app.py did not start for online log -[2023-22-10 23:03:57 INFO] **[Software Info]**: - - - -💰**cost**=$0.020713 - -🔨**version_updates**=-1 - -📃**num_code_files**=2 - -🏞**num_png_files**=0 - -📚**num_doc_files**=5 - -📃**code_lines**=24 - -📋**env_lines**=1 - -📒**manual_lines**=-1 - -🗣**num_utterances**=28 - -🤔**num_self_reflections**=1 - -❓**num_prompt_tokens**=10563 - -❗**num_completion_tokens**=2434 - -🌟**num_total_tokens**=12997 - -[2023-22-10 23:03:59 INFO] flask app.py did not start for online log -[2023-22-10 23:03:59 INFO] System: **[chatting]** - -| Parameter | Value | -| --- | --- | -| **task_prompt** | show me a simple demo | -| **need_reflect** | False | -| **assistant_role_name** | Chief Product Officer | -| **user_role_name** | Chief Executive Officer | -| **phase_prompt** | The new user's task, our developed codes and required dependencies are listed: Task: "{task}". Modality: "{modality}". Programming Language: "{language}" Ideas: "{ideas}" Codes: "{codes}" Requirements: "{requirements}" As the {assistant_role}, by using Markdown, you should write a manual.md file which is a detailed user manual to use the software, including introducing main functions of the software, how to install environment dependencies and how to use/play it. For example: manual.md ``` LangChain Building applications with LLMs through composability Looking for the JS/TS version? Check out LangChain.js. Production Support: As you move your LangChains into production, we'd love to offer more comprehensive support. Please fill out this form and we'll set up a dedicated support Slack channel. Quick Install pip install langchain or conda install langchain -c conda-forge 🤔 What is this? Large language models (LLMs) are emerging as a transformative technology, enabling developers to build applications that they previously could not. However, using these LLMs in isolation is often insufficient for creating a truly powerful app - the real power comes when you can combine them with other sources of computation or knowledge. This library aims to assist in the development of those types of applications. Common examples of these applications include: ❓ Question Answering over specific documents Documentation End-to-end Example: Question Answering over Notion Database 🤖 Agents Documentation End-to-end Example: GPT+WolframAlpha 📖 Documentation Please see here for full documentation on: Getting started (installation, setting up the environment, simple examples) How-To examples (demos, integrations, helper functions) Reference (full API docs) Resources (high-level explanation of core concepts) ``` | -| **phase_name** | Manual | -| **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** | 1 | -| **placeholders** | {'task': 'show me a simple demo', 'modality': 'website', 'ideas': '', 'language': ' Python', 'codes': 'main.py\npython\n\'\'\'\nThis is the main file that runs the demo.\n\'\'\'\nimport tkinter as tk\nfrom demo_gui import DemoGUI\ndef main():\n root = tk.Tk()\n demo_gui = DemoGUI(root)\n root.mainloop()\nif __name__ == "__main__":\n main()\n\n\ndemo_gui.py\npython\nimport tkinter as tk\nclass DemoGUI:\n def __init__(self, root):\n self.root = root\n self.root.title("Demo GUI")\n self.create_widgets()\n def create_widgets(self):\n self.label = tk.Label(self.root, text="Hello, World!")\n self.label.pack()\n self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked)\n self.button.pack()\n def button_clicked(self):\n self.label.config(text="Button Clicked!")\n\n\n', 'requirements': 'requirements.txt\n\ntkinter\n\n\n\n'} | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:04:01 INFO] flask app.py did not start for online log -[2023-22-10 23:04:01 INFO] 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** | show me a simple demo | -| **with_task_specify** | False | -| **model_type** | ModelType.GPT_3_5_TURBO | - -[2023-22-10 23:04:03 INFO] flask app.py did not start for online log -[2023-22-10 23:04:03 INFO] 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: show me a simple demo. -To complete the task, you must write a response that appropriately solves the requested instruction based on your expertise and customer's needs.] - -The new user's task, our developed codes and required dependencies are listed: - -Task: "show me a simple demo". - -Modality: "website". - -Programming Language: " Python" - -Ideas: "" - -Codes: - -"main.py -```python -''' -This is the main file that runs the demo. -''' -import tkinter as tk -from demo_gui import DemoGUI -def main(): - root = tk.Tk() - demo_gui = DemoGUI(root) - root.mainloop() -if __name__ == "__main__": - main() -``` - -demo_gui.py -```python -import tkinter as tk -class DemoGUI: - def __init__(self, root): - self.root = root - self.root.title("Demo GUI") - self.create_widgets() - def create_widgets(self): - self.label = tk.Label(self.root, text="Hello, World!") - self.label.pack() - self.button = tk.Button(self.root, text="Click Me", command=self.button_clicked) - self.button.pack() - def button_clicked(self): - self.label.config(text="Button Clicked!") -``` - -" - -Requirements: - -"requirements.txt -``` -tkinter - -``` - -" - -As the Chief Product Officer, by using Markdown, you should write a manual.md file which is a detailed user manual to use the software, including introducing main functions of the software, how to install environment dependencies and how to use/play it. For example: - -manual.md - -``` - -# LangChain - -Building applications with LLMs through composability - -Looking for the JS/TS version? Check out LangChain.js. - -**Production Support:** As you move your LangChains into production, we'd love to offer more comprehensive support. - -Please fill out this form and we'll set up a dedicated support Slack channel. - -## Quick Install - -`pip install langchain` - -or - -`conda install langchain -c conda-forge` - -## 🤔 What is this? - -Large language models (LLMs) are emerging as a transformative technology, enabling developers to build applications that they previously could not. However, using these LLMs in isolation is often insufficient for creating a truly powerful app - the real power comes when you can combine them with other sources of computation or knowledge. - -This library aims to assist in the development of those types of applications. Common examples of these applications include: - -**❓ Question Answering over specific documents** - -- Documentation - -- End-to-end Example: Question Answering over Notion Database - -**🤖 Agents** - -- Documentation - -- End-to-end Example: GPT+WolframAlpha - -## 📖 Documentation - -Please see [here](https://python.langchain.com) for full documentation on: - -- Getting started (installation, setting up the environment, simple examples) - -- How-To examples (demos, integrations, helper functions) - -- Reference (full API docs) - -- Resources (high-level explanation of core concepts) - -``` - -[2023-22-10 23:04:05 INFO] flask app.py did not start for online log -[2023-22-10 23:04:40 WARNING] Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'RemoteDisconnected('Remote end closed connection without response')': /v1/chat/completions -[2023-22-10 23:05:29 INFO] **[OpenAI_Usage_Info Receive]** -prompt_tokens: 757 -completion_tokens: 398 -total_tokens: 1155 -cost: $0.003863 - - -[2023-22-10 23:05:31 INFO] flask app.py did not start for online log -[2023-22-10 23:05:31 INFO] Chief Product Officer: **Chief Product Officer<->Chief Executive Officer on : Manual, turn 0** - -[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 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: show me a simple demo. -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.] - -# ChatDev Demo - -## Introduction - -Welcome to ChatDev Demo! This software is a simple demo that showcases a basic graphical user interface (GUI) using Python and the tkinter library. In this manual, you will find instructions on how to install the necessary dependencies and how to use the software. - -## Installation - -To install the required dependencies, please follow these steps: - -1. Ensure that you have Python installed on your system. If not, you can download and install Python from the official website: [Python Downloads](https://www.python.org/downloads/) - -2. Open a terminal or command prompt. - -3. Navigate to the directory where you have saved the demo files. - -4. Run the following command to install the dependencies: - -```shell -pip install -r requirements.txt -``` - -5. Wait for the installation to complete. - -## Usage - -To run the ChatDev Demo, please follow these steps: - -1. Open a terminal or command prompt. - -2. Navigate to the directory where you have saved the demo files. - -3. Run the following command to start the demo: - -```shell -python main.py -``` - -4. A GUI window will open with a label displaying "Hello, World!" and a button labeled "Click Me". - -5. Click the "Click Me" button to see the label text change to "Button Clicked!". - -6. You can close the GUI window by clicking the close button or by pressing the "X" button. - -## Conclusion - -Congratulations! You have successfully installed and used the ChatDev Demo. This simple demo showcases the basic functionality of a GUI using Python and the tkinter library. Feel free to explore and modify the code to create your own GUI applications. - -If you have any questions or need further assistance, please don't hesitate to reach out to our support team. We are here to help you. - -Happy coding! - ---- - -Note: This manual is written in Markdown format. You can use any Markdown editor or viewer to read and format the content. - -[2023-22-10 23:05:33 INFO] flask app.py did not start for online log -[2023-22-10 23:05:33 INFO] **[Seminar Conclusion]**: - - # ChatDev Demo - -## Introduction - -Welcome to ChatDev Demo! This software is a simple demo that showcases a basic graphical user interface (GUI) using Python and the tkinter library. In this manual, you will find instructions on how to install the necessary dependencies and how to use the software. - -## Installation - -To install the required dependencies, please follow these steps: - -1. Ensure that you have Python installed on your system. If not, you can download and install Python from the official website: [Python Downloads](https://www.python.org/downloads/) - -2. Open a terminal or command prompt. - -3. Navigate to the directory where you have saved the demo files. - -4. Run the following command to install the dependencies: - -```shell -pip install -r requirements.txt -``` - -5. Wait for the installation to complete. - -## Usage - -To run the ChatDev Demo, please follow these steps: - -1. Open a terminal or command prompt. - -2. Navigate to the directory where you have saved the demo files. - -3. Run the following command to start the demo: - -```shell -python main.py -``` - -4. A GUI window will open with a label displaying "Hello, World!" and a button labeled "Click Me". - -5. Click the "Click Me" button to see the label text change to "Button Clicked!". - -6. You can close the GUI window by clicking the close button or by pressing the "X" button. - -## Conclusion - -Congratulations! You have successfully installed and used the ChatDev Demo. This simple demo showcases the basic functionality of a GUI using Python and the tkinter library. Feel free to explore and modify the code to create your own GUI applications. - -If you have any questions or need further assistance, please don't hesitate to reach out to our support team. We are here to help you. - -Happy coding! - ---- - -Note: This manual is written in Markdown format. You can use any Markdown editor or viewer to read and format the content. - -[2023-22-10 23:05:35 INFO] flask app.py did not start for online log -[2023-22-10 23:05:35 INFO] **[Post Info]** - -Software Info: - -💰**cost**=$0.022644 - -🔨**version_updates**=5.0 - -📃**num_code_files**=2 - -🏞**num_png_files**=0 - -📚**num_doc_files**=7 - -📃**code_lines**=24 - -📋**env_lines**=1 - -📒**manual_lines**=30 - -🗣**num_utterances**=30 - -🤔**num_self_reflections**=1 - -❓**num_prompt_tokens**=11320 - -❗**num_completion_tokens**=2832 - -🌟**num_total_tokens**=14152 - -🕑**duration**=587.00s - -ChatDev Starts (20231022225548) - -ChatDev Ends (20231022230535) - -D:\learnChatDev\MBChatDev\ChatDev\WareHouse\test_demo_DefaultOrganization_20231022225548\__pycache__ Removed. - - - -[2023-22-10 23:05:37 INFO] flask app.py did not start for online log diff --git a/chatdev/phase.py b/chatdev/phase.py index 3cd5331..476de5f 100644 --- a/chatdev/phase.py +++ b/chatdev/phase.py @@ -39,7 +39,6 @@ class Phase(ABC): self.user_role_prompt = role_prompts[user_role_name] self.ceo_prompt = role_prompts["Chief Executive Officer"] self.counselor_prompt = role_prompts["Counselor"] - self.timeout_seconds = 30.0 self.max_retries = 3 self.reflection_prompt = """Here is a conversation between two roles: {conversations} {question}""" self.model_type = model_type diff --git a/misc/article_pic.png b/misc/article_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..e57491e10092200578c78e7803af2689d51ffb66 GIT binary patch literal 9723 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 literal 0 HcmV?d00001 diff --git a/misc/goodcode.png b/misc/goodcode.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d6132ed1eca897ef4ebc0715349b265c47a7f6 GIT binary patch literal 331916 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

nd3 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 z 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 literal 0 HcmV?d00001 diff --git a/misc/poker.png b/misc/poker.png new file mode 100644 index 0000000000000000000000000000000000000000..d320d13a9d5fddedf78a030923a8b9e27704a9b3 GIT binary patch literal 43901 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�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 literal 0 HcmV?d00001