feat: Update LlmCallBlock to handle different response formats

This commit is contained in:
Toran Bruce Richards
2024-07-10 12:00:56 +01:00
parent 6cd5007857
commit cac41edafc

View File

@@ -102,9 +102,13 @@ class LlmCallBlock(Block):
)
logger.warning(f"LLM attempt-{retry_count} response: {response_text}")
parsed_dict, parsed_error = parse_response(response_text)
if not parsed_error:
yield "response", {k: str(v) for k, v in parsed_dict.items()}
if input_data.expected_format:
parsed_dict, parsed_error = parse_response(response_text)
if not parsed_error:
yield "response", {k: str(v) for k, v in parsed_dict.items()}
return
else:
yield "response", {"response": response_text}
return
retry_prompt = f"""