| @@ -4,7 +4,6 @@ from typing import Any | |||
| from langchain.schema import BaseOutputParser | |||
| from core.model_runtime.errors.invoke import InvokeError | |||
| from core.prompt.prompts import SUGGESTED_QUESTIONS_AFTER_ANSWER_INSTRUCTION_PROMPT | |||
| @@ -14,11 +13,11 @@ class SuggestedQuestionsAfterAnswerOutputParser(BaseOutputParser): | |||
| return SUGGESTED_QUESTIONS_AFTER_ANSWER_INSTRUCTION_PROMPT | |||
| def parse(self, text: str) -> Any: | |||
| json_string = text.strip() | |||
| action_match = re.search(r".*(\[\".+\"\]).*", json_string, re.DOTALL) | |||
| action_match = re.search(r"\[.*?\]", text.strip(), re.DOTALL) | |||
| if action_match is not None: | |||
| json_obj = json.loads(action_match.group(1).strip(), strict=False) | |||
| json_obj = json.loads(action_match.group(0).strip()) | |||
| else: | |||
| raise InvokeError("Could not parse LLM output: {text}") | |||
| json_obj= [] | |||
| print(f"Could not parse LLM output: {text}") | |||
| return json_obj | |||