diff --git a/libs/community/langchain_community/chat_models/litellm.py b/libs/community/langchain_community/chat_models/litellm.py index 3788b911ff3..cb26cf77395 100644 --- a/libs/community/langchain_community/chat_models/litellm.py +++ b/libs/community/langchain_community/chat_models/litellm.py @@ -83,10 +83,14 @@ def _convert_dict_to_message(_dict: Mapping[str, Any]) -> BaseMessage: # Fix for azure # Also OpenAI returns None for tool invocations content = _dict.get("content", "") or "" + + additional_kwargs = {} if _dict.get("function_call"): - additional_kwargs = {"function_call": dict(_dict["function_call"])} - else: - additional_kwargs = {} + additional_kwargs["function_call"] = dict(_dict["function_call"]) + + if _dict.get("tool_calls"): + additional_kwargs["tool_calls"] = _dict["tool_calls"] + return AIMessage(content=content, additional_kwargs=additional_kwargs) elif role == "system": return SystemMessage(content=_dict["content"])