From 6091f1dd7376987d2dfca6b03130f02300c2507c Mon Sep 17 00:00:00 2001 From: femto Date: Tue, 26 Sep 2023 12:21:46 +0800 Subject: [PATCH] fix parse --- metagpt/actions/design_api.py | 6 ++++++ metagpt/utils/common.py | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/metagpt/actions/design_api.py b/metagpt/actions/design_api.py index f19fcbeaa..75df8b909 100644 --- a/metagpt/actions/design_api.py +++ b/metagpt/actions/design_api.py @@ -207,5 +207,11 @@ class WriteDesign(Action): prompt = prompt_template.format(context=context, format_example=format_example) # system_design = await self._aask(prompt) system_design = await self._aask_v1(prompt, "system_design", OUTPUT_MAPPING, format=format) + # fix Python package name, we can't system_design.instruct_content.python_package_name = "xxx" since "Python package name" contain space, have to use setattr + setattr( + system_design.instruct_content, + "Python package name", + system_design.instruct_content.dict()["Python package name"].strip().strip("'").strip('"'), + ) await self._save(context, system_design) return system_design diff --git a/metagpt/utils/common.py b/metagpt/utils/common.py index 65cc15e82..59d179808 100644 --- a/metagpt/utils/common.py +++ b/metagpt/utils/common.py @@ -180,7 +180,7 @@ class OutputParser: if start_index != -1 and end_index != -1: # Extract the structure part - structure_text = text[start_index:end_index + 1] + structure_text = text[start_index : end_index + 1] try: # Attempt to convert the text to a Python data type using ast.literal_eval @@ -237,7 +237,7 @@ class CodeParser: logger.error(f"{pattern} not match following text:") logger.error(text) # raise Exception - return "" + return text # just assume original text is code return code @classmethod