aboutsummaryrefslogtreecommitdiff
path: root/autogpts/autogpt/autogpt/json_utils/utilities.py
diff options
context:
space:
mode:
Diffstat (limited to 'autogpts/autogpt/autogpt/json_utils/utilities.py')
-rw-r--r--autogpts/autogpt/autogpt/json_utils/utilities.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/autogpts/autogpt/autogpt/json_utils/utilities.py b/autogpts/autogpt/autogpt/json_utils/utilities.py
index 80ef8cee3..fe203b290 100644
--- a/autogpts/autogpt/autogpt/json_utils/utilities.py
+++ b/autogpts/autogpt/autogpt/json_utils/utilities.py
@@ -26,10 +26,10 @@ def extract_dict_from_response(response_content: str) -> dict[str, Any]:
# Response content comes from OpenAI as a Python `str(content_dict)`.
# `literal_eval` does the reverse of `str(dict)`.
- try:
- return ast.literal_eval(response_content)
- except BaseException as e:
- logger.info(f"Error parsing JSON response with literal_eval {e}")
- logger.debug(f"Invalid JSON received in response:\n{response_content}")
- # TODO: How to raise an error here without causing the program to exit?
- return {}
+ result = ast.literal_eval(response_content)
+ if not isinstance(result, dict):
+ raise ValueError(
+ f"Response '''{response_content}''' evaluated to "
+ f"non-dict value {repr(result)}"
+ )
+ return result