mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-01-07 00:06:57 +01:00
Chroma fixes (#13902)
* Ensure descriptions saved in chroma are non-empty * delete only existing ids in event cleanup * add debug logging
This commit is contained in:
parent
fe57f7f489
commit
0f813962be
@ -126,9 +126,9 @@ class Embeddings:
|
||||
thumbnails["ids"].append(event.id)
|
||||
thumbnails["images"].append(img)
|
||||
thumbnails["metadatas"].append(metadata)
|
||||
if event.data.get("description") is not None:
|
||||
if description := event.data.get("description", "").strip():
|
||||
descriptions["ids"].append(event.id)
|
||||
descriptions["documents"].append(event.data["description"])
|
||||
descriptions["documents"].append(description)
|
||||
descriptions["metadatas"].append(metadata)
|
||||
|
||||
if len(thumbnails["ids"]) > 0:
|
||||
|
@ -177,7 +177,7 @@ class EmbeddingMaintainer(threading.Thread):
|
||||
camera_config, thumbnails, metadata
|
||||
)
|
||||
|
||||
if description is None:
|
||||
if not description:
|
||||
logger.debug("Failed to generate description for %s", event.id)
|
||||
return
|
||||
|
||||
|
@ -230,7 +230,15 @@ class EventCleanup(threading.Thread):
|
||||
Event.delete().where(Event.id << chunk).execute()
|
||||
|
||||
if self.config.semantic_search.enabled:
|
||||
self.embeddings.thumbnail.delete(ids=chunk)
|
||||
self.embeddings.description.delete(ids=chunk)
|
||||
for collection in [
|
||||
self.embeddings.thumbnail,
|
||||
self.embeddings.description,
|
||||
]:
|
||||
existing_ids = collection.get(ids=chunk, include=[])["ids"]
|
||||
if existing_ids:
|
||||
collection.delete(ids=existing_ids)
|
||||
logger.debug(
|
||||
f"Deleted {len(existing_ids)} embeddings from {collection.__class__.__name__}"
|
||||
)
|
||||
|
||||
logger.info("Exiting event cleanup...")
|
||||
|
Loading…
Reference in New Issue
Block a user