Allow recovering from JSONDecoder errors in StructuredOutputParser (#2616)

This commit is contained in:
Nuno Campos
2023-04-09 15:32:49 +01:00
committed by GitHub
parent 6f39e88a2c
commit 5376799a23

View File

@@ -39,7 +39,10 @@ class StructuredOutputParser(BaseOutputParser):
def parse(self, text: str) -> BaseModel:
json_string = text.split("```json")[1].strip().strip("```").strip()
json_obj = json.loads(json_string)
try:
json_obj = json.loads(json_string)
except json.JSONDecodeError as e:
raise OutputParserException(f"Got invalid JSON object. Error: {e}")
for schema in self.response_schemas:
if schema.name not in json_obj:
raise OutputParserException(