From 10836dedeee27c171c49b75ceb0edabdc4cd0f04 Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Fri, 17 Mar 2023 20:29:33 -0600 Subject: [PATCH] Search should return user message if GPT response is not valid JSON Previously would throw if GPT response is not valid JSON. Better to return original message to use for search instead --- src/khoj/processor/conversation/gpt.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/khoj/processor/conversation/gpt.py b/src/khoj/processor/conversation/gpt.py index b3639a93..b601bced 100644 --- a/src/khoj/processor/conversation/gpt.py +++ b/src/khoj/processor/conversation/gpt.py @@ -165,7 +165,12 @@ Q: {text} ) # Extract, Clean Message from GPT's Response - questions = json.loads(response["choices"][0]["text"].strip(empty_escape_sequences)) + response_text = response["choices"][0]["text"] + try: + questions = json.loads(response_text.strip(empty_escape_sequences)) + except json.decoder.JSONDecodeError: + logger.warn(f"GPT returned invalid JSON. Set question to empty list.\n{response_text}") + questions = [text] logger.debug(f"Extracted Questions by GPT: {questions}") return questions