forked from Archives/langchain
Allow recovering from JSONDecoder errors in StructuredOutputParser (#2616)
This commit is contained in:
parent
6f39e88a2c
commit
5376799a23
@ -39,7 +39,10 @@ class StructuredOutputParser(BaseOutputParser):
|
||||
|
||||
def parse(self, text: str) -> BaseModel:
|
||||
json_string = text.split("```json")[1].strip().strip("```").strip()
|
||||
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(
|
||||
|
Loading…
Reference in New Issue
Block a user