diff --git a/vllm/entrypoints/openai/serving_responses.py b/vllm/entrypoints/openai/serving_responses.py index 899cb07b2b37..d02afb4531e0 100644 --- a/vllm/entrypoints/openai/serving_responses.py +++ b/vllm/entrypoints/openai/serving_responses.py @@ -734,6 +734,11 @@ def _construct_input_messages_with_harmony( # parsing the tool call output. if isinstance(response_msg, ResponseFunctionToolCall): prev_outputs.append(response_msg) + elif isinstance( + response_msg, + dict) and response_msg.get("type") == "function_call": + prev_outputs.append( + ResponseFunctionToolCall(**response_msg)) return messages async def _run_background_request(