From 8a14dde219f8ec03531c21f0f62c75bcc680ae60 Mon Sep 17 00:00:00 2001 From: yzlin Date: Tue, 16 Jan 2024 15:46:13 +0800 Subject: [PATCH] tool_type renaming --- metagpt/prompts/{tool_type.py => tool_types.py} | 0 metagpt/roles/code_interpreter.py | 7 +++++++ metagpt/tools/tool_types.py | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) rename metagpt/prompts/{tool_type.py => tool_types.py} (100%) diff --git a/metagpt/prompts/tool_type.py b/metagpt/prompts/tool_types.py similarity index 100% rename from metagpt/prompts/tool_type.py rename to metagpt/prompts/tool_types.py diff --git a/metagpt/roles/code_interpreter.py b/metagpt/roles/code_interpreter.py index afd51a575..46cc00d5e 100644 --- a/metagpt/roles/code_interpreter.py +++ b/metagpt/roles/code_interpreter.py @@ -5,6 +5,7 @@ from pydantic import Field from metagpt.actions.ask_review import ReviewConst from metagpt.actions.execute_code import ExecutePyCode from metagpt.actions.write_analysis_code import WriteCodeByGenerate, WriteCodeWithTools +from metagpt.actions.write_code_steps import WriteCodeSteps from metagpt.logs import logger from metagpt.roles import Role from metagpt.roles.tool_maker import ToolMaker @@ -16,6 +17,7 @@ class CodeInterpreter(Role): auto_run: bool = True use_tools: bool = False make_udfs: bool = False # whether to save user-defined functions + use_code_steps: bool = False execute_code: ExecutePyCode = Field(default_factory=ExecutePyCode, exclude=True) def __init__( @@ -56,6 +58,10 @@ class CodeInterpreter(Role): return task_result async def _write_and_exec_code(self, max_retry: int = 3): + self.planner.current_task.code_steps = ( + await WriteCodeSteps().run(self.planner.plan) if self.use_code_steps else "" + ) + counter = 0 success = False @@ -90,6 +96,7 @@ class CodeInterpreter(Role): logger.info(f"ready to {todo.name}") context = self.planner.get_useful_memories() + # print(*context, sep="\n***\n") code = await todo.run(context=context, plan=self.planner.plan, temperature=0.0) # 暂时在这里转换 WriteCodeWithTools 的输出 if isinstance(code, str): diff --git a/metagpt/tools/tool_types.py b/metagpt/tools/tool_types.py index 97eb574da..289271985 100644 --- a/metagpt/tools/tool_types.py +++ b/metagpt/tools/tool_types.py @@ -1,4 +1,4 @@ -from metagpt.prompts.tool_type import ( +from metagpt.prompts.tool_types import ( DATA_PREPROCESS_PROMPT, FEATURE_ENGINEERING_PROMPT, MODEL_EVALUATE_PROMPT,