diff --git a/libs/core/kiln_ai/adapters/prompt_adapters.py b/libs/core/kiln_ai/adapters/prompt_adapters.py index 5068d8bc..3a7a0f21 100644 --- a/libs/core/kiln_ai/adapters/prompt_adapters.py +++ b/libs/core/kiln_ai/adapters/prompt_adapters.py @@ -58,7 +58,11 @@ async def run(self, input: str) -> str: prompt += f"\n\n{input}" response = self.model.invoke(prompt) if self.__is_structured: - if not isinstance(response, dict) or "parsed" not in response: + if ( + not isinstance(response, dict) + or "parsed" not in response + or not isinstance(response["parsed"], dict) + ): raise RuntimeError(f"structured response not returned: {response}") structured_response = response["parsed"] # TODO: not JSON, use a dict here