| @@ -10,7 +10,7 @@ from langchain.schema import AgentAction, AgentFinish, OutputParserException | |||
| class StructuredChatOutputParser(LCStructuredChatOutputParser): | |||
| def parse(self, text: str) -> Union[AgentAction, AgentFinish]: | |||
| try: | |||
| action_match = re.search(r"```(.*?)\n?(.*?)```", text, re.DOTALL) | |||
| action_match = re.search(r"```(\w*)\n?({.*?)```", text, re.DOTALL) | |||
| if action_match is not None: | |||
| response = json.loads(action_match.group(2).strip(), strict=False) | |||
| if isinstance(response, list): | |||
| @@ -26,4 +26,4 @@ class StructuredChatOutputParser(LCStructuredChatOutputParser): | |||
| else: | |||
| return AgentFinish({"output": text}, text) | |||
| except Exception as e: | |||
| raise OutputParserException(f"Could not parse LLM output: {text}") from e | |||
| raise OutputParserException(f"Could not parse LLM output: {text}") | |||