mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-07 11:45:24 +03:00
more error checking
This commit is contained in:
parent
f8dcc24c9f
commit
0fc2047ec1
@ -106,7 +106,11 @@ class EventProcessor(threading.Thread):
|
|||||||
|
|
||||||
self.handle_object_detection(event_type, camera, event_data)
|
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(
|
self.gemini_queue.put(
|
||||||
(
|
(
|
||||||
camera,
|
camera,
|
||||||
|
|||||||
@ -46,7 +46,6 @@ class GeminiProcessor(threading.Thread):
|
|||||||
|
|
||||||
camera_config = self.config.cameras[camera]
|
camera_config = self.config.cameras[camera]
|
||||||
|
|
||||||
st = time.time()
|
|
||||||
thumbnail = {
|
thumbnail = {
|
||||||
"mime_type": "image/jpeg",
|
"mime_type": "image/jpeg",
|
||||||
"data": base64.b64decode(event_data["thumbnail"]),
|
"data": base64.b64decode(event_data["thumbnail"]),
|
||||||
@ -55,6 +54,8 @@ class GeminiProcessor(threading.Thread):
|
|||||||
event_data["label"], camera_config.gemini.prompt
|
event_data["label"], camera_config.gemini.prompt
|
||||||
)
|
)
|
||||||
|
|
||||||
|
st = time.time()
|
||||||
|
|
||||||
response = self.model.generate_content(
|
response = self.model.generate_content(
|
||||||
[thumbnail, prompt],
|
[thumbnail, prompt],
|
||||||
generation_config=genai.types.GenerationConfig(
|
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:
|
try:
|
||||||
event = Event.get(Event.id == event_data["id"])
|
event = Event.get(Event.id == event_data["id"])
|
||||||
except DoesNotExist:
|
except DoesNotExist:
|
||||||
|
logger.warning(
|
||||||
|
"Failed to find event %s",
|
||||||
|
event_data["id"],
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if camera_config.gemini.override_existing or not event.sub_label:
|
if camera_config.gemini.override_existing or not event.sub_label:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user