diff --git a/api/core/llm_generator/output_parser/structured_output.py b/api/core/llm_generator/output_parser/structured_output.py index a4d8ff598c..ae829eeb48 100644 --- a/api/core/llm_generator/output_parser/structured_output.py +++ b/api/core/llm_generator/output_parser/structured_output.py @@ -250,7 +250,7 @@ def _parse_structured_output(result_text: str) -> Mapping[str, Any]: if not isinstance(temp_parsed, dict): # handle reasoning model like deepseek-r1 got '\n\n\n' prefix if isinstance(temp_parsed, list): - temp_parsed = next((item for item in parsed if isinstance(item, dict)), {}) + temp_parsed = next((item for item in temp_parsed if isinstance(item, dict)), {}) else: raise OutputParserError(f"Failed to parse structured output: {result_text}") structured_output = cast(dict, temp_parsed)