Merge branch 'mgx_ops' into 'data_analyst_ldy'

# Conflicts:
#   metagpt/roles/di/data_analyst.py
This commit is contained in:
李丹阳 2024-07-26 06:12:20 +00:00
commit c1fd2ae109
22 changed files with 277 additions and 99 deletions

View file

@ -279,4 +279,4 @@ class WriteDesign(Action):
md_output_filename = output_pathname.with_suffix(".md")
await save_json_to_markdown(content=design.content, output_filename=md_output_filename)
await reporter.async_report(md_output_filename, "path")
return f'System Design filename: "{str(output_pathname)}"'
return f'System Design filename: "{str(output_pathname)}". \n The System Design has been completed.'

View file

@ -33,8 +33,8 @@ PROJECT_NAME = ActionNode(
FILE_LIST = ActionNode(
key="File list",
expected_type=List[str],
instruction="Only need relative paths. ALWAYS write a main.py or app.py here",
example=["main.py", "game.py"],
instruction="Only need relative paths. Succinctly designate the correct entry file for your project based on the programming language: use main.js for JavaScript, main.py for Python, and so on for other languages.",
example=["a.js", "b.py", "c.css", "d.html"],
)
REFINED_FILE_LIST = ActionNode(

View file

@ -27,7 +27,8 @@ LOGIC_ANALYSIS = ActionNode(
key="Logic Analysis",
expected_type=List[List[str]],
instruction="Provide a list of files with the classes/methods/functions to be implemented, "
"including dependency analysis and imports.",
"including dependency analysis and imports."
"Ensure consistency between System Design and Logic Analysis; the files must match exactly.",
example=[
["game.py", "Contains Game class and ... functions"],
["main.py", "Contains main function, from game import Game"],

View file

@ -283,7 +283,10 @@ class ReviewAndRewriteCode(Action):
await awrite(filename=code_path, data=code)
return code
return (
f"The review and rewriting of the code in the file '{os.path.basename(code_path)}' has been completed."
+ code
)
@staticmethod
async def _try_aread(input: str) -> str:

View file

@ -323,4 +323,4 @@ class WritePRD(Action):
md_output_filename = output_pathname.with_suffix(".md")
await save_json_to_markdown(content=new_prd.content, output_filename=md_output_filename)
await reporter.async_report(md_output_filename, "path")
return f'PRD filename: "{str(output_pathname)}"'
return f'PRD filename: "{str(output_pathname)}". The product requirement document (PRD) has been completed.'