From b2118382cb3a7cabc1947c738289458c79bf7da7 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Wed, 4 Mar 2026 15:53:20 -0700 Subject: [PATCH] Various Fixes (#22263) --- frigate/camera/activity_manager.py | 1 + frigate/genai/ollama.py | 39 ++++++++++++++---------------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/frigate/camera/activity_manager.py b/frigate/camera/activity_manager.py index 70c867073..3f229e490 100644 --- a/frigate/camera/activity_manager.py +++ b/frigate/camera/activity_manager.py @@ -236,6 +236,7 @@ class AudioActivityManager: None, "audio", {}, + None, ), EventMetadataTypeEnum.manual_event_create.value, ) diff --git a/frigate/genai/ollama.py b/frigate/genai/ollama.py index 73ba2171e..eb63f7fdb 100644 --- a/frigate/genai/ollama.py +++ b/frigate/genai/ollama.py @@ -222,27 +222,24 @@ class OllamaClient(GenAIClient): ) content_parts: list[str] = [] final_message: dict[str, Any] | None = None - try: - stream = await async_client.chat(**request_params) - async for chunk in stream: - if not chunk or "message" not in chunk: - continue - msg = chunk.get("message", {}) - delta = msg.get("content") or "" - if delta: - content_parts.append(delta) - yield ("content_delta", delta) - if chunk.get("done"): - full_content = "".join(content_parts).strip() or None - tool_calls = parse_tool_calls_from_message(msg) - final_message = { - "content": full_content, - "tool_calls": tool_calls, - "finish_reason": "tool_calls" if tool_calls else "stop", - } - break - finally: - await async_client.close() + stream = await async_client.chat(**request_params) + async for chunk in stream: + if not chunk or "message" not in chunk: + continue + msg = chunk.get("message", {}) + delta = msg.get("content") or "" + if delta: + content_parts.append(delta) + yield ("content_delta", delta) + if chunk.get("done"): + full_content = "".join(content_parts).strip() or None + tool_calls = parse_tool_calls_from_message(msg) + final_message = { + "content": full_content, + "tool_calls": tool_calls, + "finish_reason": "tool_calls" if tool_calls else "stop", + } + break if final_message is not None: yield ("message", final_message)