From 25043278ab9a05cf7b21a37ea6ce5c5dea5cf5d9 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Tue, 15 Oct 2024 07:40:45 -0600 Subject: [PATCH] Always run embedding descs one by one (#14365) --- frigate/embeddings/embeddings.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/frigate/embeddings/embeddings.py b/frigate/embeddings/embeddings.py index e4937f955..f6901614f 100644 --- a/frigate/embeddings/embeddings.py +++ b/frigate/embeddings/embeddings.py @@ -175,15 +175,11 @@ class Embeddings: return embedding def batch_upsert_description(self, event_descriptions: dict[str, str]) -> ndarray: - descs = list(event_descriptions.values()) + # upsert embeddings one by one to avoid token limit + embeddings = [] - try: - embeddings = self.text_embedding(descs) - except ort.RuntimeException: - half_size = len(descs) / 2 - embeddings = [] - embeddings.extend(self.text_embedding(descs[0:half_size])) - embeddings.extend(self.text_embedding(descs[half_size:])) + for desc in event_descriptions.values(): + embeddings.append(self.text_embedding([desc])) ids = list(event_descriptions.keys())