From 925d0a247bc6e3d20305a4aebf400671159fbb1e Mon Sep 17 00:00:00 2001 From: James Braza Date: Thu, 7 Mar 2024 21:27:44 -0800 Subject: [PATCH] Fixing crash if json.loads returns a string --- paperqa/docs.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/paperqa/docs.py b/paperqa/docs.py index 3f1264a99..5bd7fcb62 100644 --- a/paperqa/docs.py +++ b/paperqa/docs.py @@ -708,17 +708,15 @@ async def process(match): except json.decoder.JSONDecodeError: # fallback to string success = False + else: + success = isinstance(result_data, dict) if success: try: - context = result_data["summary"] - score = result_data["relevance_score"] - del result_data["summary"] - del result_data["relevance_score"] - if "question" in result_data: - del result_data["question"] + context = result_data.pop("summary") + score = result_data.pop("relevance_score") + result_data.pop("question", None) extras = result_data except KeyError: - # fallback success = False # fallback to string (or json mode not enabled) if not success or not self.prompts.summary_json: