mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-06-17 15:35:21 +02:00
bug fix: add reset before code generation
bug fix: parse js code using original code
This commit is contained in:
parent
a0a64e7f3b
commit
e27d97ee3c
3 changed files with 11 additions and 6 deletions
|
|
@ -187,6 +187,8 @@ class ActionDeveloper(Base):
|
|||
return len(self._rc.news)
|
||||
|
||||
async def run_step(self, human_msg, system_msg, *args, **kwargs):
|
||||
await self._obtain_events()
|
||||
logger.info("reset before step()!")
|
||||
while True:
|
||||
logger.info(f"self.rollout_num_iter {self.rollout_num_iter}")
|
||||
system_msg, human_msg, reward, done, info = await self.runcode_and_evaluate(human_msg, system_msg, *args,
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ class CriticReviewer(Base):
|
|||
}
|
||||
|
||||
async def verify_task(self, human_msg, system_msg, *args, **kwargs):
|
||||
success, critique = await VerifyTask().run(human_msg, system_msg, max_retries=5)
|
||||
success, critique = await VerifyTask().run(human_msg, system_msg, max_retries=1)
|
||||
self.perform_game_info_callback(
|
||||
success, self.game_memory.update_exploration_progress
|
||||
)
|
||||
|
|
@ -144,8 +144,7 @@ class CriticReviewer(Base):
|
|||
instruct_content="verify_task",
|
||||
role=self.profile,
|
||||
send_to=agent_registry.entries["skill_manager"]()._setting.name,
|
||||
) # addnewskill
|
||||
# TODO:if not success
|
||||
)
|
||||
|
||||
|
||||
async def _act(self) -> Message:
|
||||
|
|
@ -158,7 +157,7 @@ class CriticReviewer(Base):
|
|||
# 获取最新的游戏周边信息
|
||||
events = await self._execute_events()
|
||||
self.perform_game_info_callback(events, self.game_memory.update_chest_memory)
|
||||
# logger.info(f"Execute return event is {self.game_memory.event}")
|
||||
|
||||
context = self.game_memory.context
|
||||
task = self.game_memory.current_task
|
||||
chest_observation = self.game_memory.chest_observation
|
||||
|
|
|
|||
|
|
@ -38,10 +38,14 @@ def parse_action_response(msg: str):
|
|||
|
||||
retry = 3
|
||||
error = None # 3 times failed return error
|
||||
babel_generator = require("@babel/generator").default
|
||||
while retry > 0:
|
||||
try:
|
||||
parsed = parse_js_code(msg)
|
||||
babel = require("@babel/core")
|
||||
babel_generator = require("@babel/generator").default
|
||||
|
||||
code_pattern = re.compile(r"```(?:javascript|js)(.*?)```", re.DOTALL)
|
||||
code = "\n".join(code_pattern.findall(msg))
|
||||
parsed = babel.parse(code)
|
||||
# Collect func list: check if func & async
|
||||
functions = []
|
||||
assert len(list(parsed.program.body)) > 0, "No functions found"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue