diff --git a/homeassistant/components/ollama/entity.py b/homeassistant/components/ollama/entity.py index 2b756d334308..b3c2d2d795be 100644 --- a/homeassistant/components/ollama/entity.py +++ b/homeassistant/components/ollama/entity.py @@ -94,7 +94,12 @@ def _convert_content( if isinstance(chat_content, conversation.ToolResultContent): return ollama.Message( role=MessageRole.TOOL.value, - content=json_dumps(chat_content.tool_result), + content=json_dumps( + { + "data": chat_content.result.data, + "error": chat_content.result.error, + } + ), ) if isinstance(chat_content, conversation.AssistantContent): return ollama.Message( diff --git a/tests/components/ollama/test_conversation.py b/tests/components/ollama/test_conversation.py index acfded42862a..6a365d9a17c1 100644 --- a/tests/components/ollama/test_conversation.py +++ b/tests/components/ollama/test_conversation.py @@ -552,11 +552,12 @@ async def test_history_conversion( Message( role="tool", content=( - '{"speech":{"plain":{"speech":"4:24 PM",' + '{"data":{"speech":{"plain":{"speech":"4:24 PM",' '"extra_data":null}},' '"response_type":"action_done",' '"speech_slots":{"time":"16:24:17.813343"},' - '"data":{"success":[],"failed":[]}}' + '"data":{"success":[],"failed":[]}},' + '"error":false}' ), ), Message(role="assistant", content="4:24 PM"),