From 460e373dae6078c6353b755e4b3db0b5e449a300 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=A3=92=E6=A3=92?= Date: Tue, 28 Nov 2023 13:40:28 +0800 Subject: [PATCH] feat: add auto_run. --- metagpt/roles/ml_engineer.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/metagpt/roles/ml_engineer.py b/metagpt/roles/ml_engineer.py index 2e4bbfc82..af1f3b5b5 100644 --- a/metagpt/roles/ml_engineer.py +++ b/metagpt/roles/ml_engineer.py @@ -38,13 +38,14 @@ class WriteTaskGuide(Action): return "" class MLEngineer(Role): - def __init__(self, name="ABC", profile="MLEngineer", goal=""): + def __init__(self, name="ABC", profile="MLEngineer", goal="", auto_run: bool = False): super().__init__(name=name, profile=profile, goal=goal) self._set_react_mode(react_mode="plan_and_act") self.plan = Plan(goal=goal) self.use_tools = False self.use_task_guide = False self.execute_code = ExecutePyCode() + self.auto_run = auto_run async def _plan_and_act(self): @@ -104,11 +105,13 @@ class MLEngineer(Role): return code, result, success async def _ask_review(self): - context = self.get_useful_memories() - review, confirmed = await AskReview().run(context=context[-5:], plan=self.plan) - if review.lower() not in ("confirm", "y", "yes"): - self._rc.memory.add(Message(content=review, role="user", cause_by=AskReview)) - return confirmed + if not self.auto_run: + context = self.get_useful_memories() + review, confirmed = await AskReview().run(context=context[-5:], plan=self.plan) + if review.lower() not in ("confirm", "y", "yes"): + self._rc.memory.add(Message(content=review, role="user", cause_by=AskReview)) + return confirmed + return True async def _update_plan(self, max_tasks: int = 3): current_plan = str([task.json() for task in self.plan.tasks])