Compare commits

...

2 Commits

Author SHA1 Message Date
Nicolas Mowen
9448af3f83 Add fix for value error in embedding 2026-03-01 18:00:29 -07:00
Nicolas Mowen
6139e18df7 fix genai leak 2026-02-16 08:28:36 -07:00
2 changed files with 19 additions and 7 deletions

View File

@@ -103,16 +103,19 @@ class ObjectDescriptionProcessor(PostProcessorApi):
logger.debug(f"{camera} sending early request to GenAI")
self.early_request_sent[data["id"]] = True
# Copy thumbnails to avoid holding references after cleanup
thumbnails_copy = [
data["thumbnail"][:] if data.get("thumbnail") else None
for data in self.tracked_events[data["id"]]
if data.get("thumbnail")
]
threading.Thread(
target=self._genai_embed_description,
name=f"_genai_embed_description_{event.id}",
daemon=True,
args=(
event,
[
data["thumbnail"]
for data in self.tracked_events[data["id"]]
],
thumbnails_copy,
),
).start()
@@ -173,7 +176,10 @@ class ObjectDescriptionProcessor(PostProcessorApi):
[snapshot_image]
if event.has_snapshot and source == "snapshot"
else (
[data["thumbnail"] for data in self.tracked_events[event_id]]
# Copy thumbnails to avoid holding references
[data["thumbnail"][:] if data.get("thumbnail") else None
for data in self.tracked_events[event_id]
if data.get("thumbnail")]
if len(self.tracked_events.get(event_id, [])) > 0
else [thumbnail]
)
@@ -277,7 +283,10 @@ class ObjectDescriptionProcessor(PostProcessorApi):
[snapshot_image]
if event.has_snapshot and camera_config.objects.genai.use_snapshot
else (
[data["thumbnail"] for data in self.tracked_events[event.id]]
# Copy thumbnails to avoid holding references after cleanup
[data["thumbnail"][:] if data.get("thumbnail") else None
for data in self.tracked_events[event.id]
if data.get("thumbnail")]
if num_thumbnails > 0
else [thumbnail]
)

View File

@@ -679,4 +679,7 @@ class EmbeddingMaintainer(threading.Thread):
if not self.config.semantic_search.enabled:
return
self.embeddings.embed_thumbnail(event_id, thumbnail)
try:
self.embeddings.embed_thumbnail(event_id, thumbnail)
except ValueError:
logger.warning(f"Failed to embed thumbnail for event {event_id}")