more error checking

This commit is contained in:
Jason Hunter 2023-12-14 20:42:11 -05:00
parent f8dcc24c9f
commit 0fc2047ec1
2 changed files with 22 additions and 3 deletions

View File

@ -106,7 +106,11 @@ class EventProcessor(threading.Thread):
self.handle_object_detection(event_type, camera, event_data)
if event_type == "end" and self.config.cameras[camera].gemini.enabled:
if (
event_type == "end"
and not event_data["false_positive"]
and self.config.cameras[camera].gemini.enabled
):
self.gemini_queue.put(
(
camera,

View File

@ -46,7 +46,6 @@ class GeminiProcessor(threading.Thread):
camera_config = self.config.cameras[camera]
st = time.time()
thumbnail = {
"mime_type": "image/jpeg",
"data": base64.b64decode(event_data["thumbnail"]),
@ -55,6 +54,8 @@ class GeminiProcessor(threading.Thread):
event_data["label"], camera_config.gemini.prompt
)
st = time.time()
response = self.model.generate_content(
[thumbnail, prompt],
generation_config=genai.types.GenerationConfig(
@ -63,11 +64,25 @@ class GeminiProcessor(threading.Thread):
),
)
sub_label = response.text.strip()
logger.info("Generated sub label API took %.4f seconds", time.time() - st)
try:
sub_label = response.text.split(".")[0].strip()
except ValueError:
logger.warning(
"Failed to generate sub label for %s on %s",
event_data["id"],
camera,
)
continue
try:
event = Event.get(Event.id == event_data["id"])
except DoesNotExist:
logger.warning(
"Failed to find event %s",
event_data["id"],
)
continue
if camera_config.gemini.override_existing or not event.sub_label: