write prompts for genai at the camera level (#13767)

This commit is contained in:
Josh Hawkins
2024-09-16 09:46:11 -05:00
committed by GitHub
parent 06ccf7e9e9
commit e3edcf057c
5 changed files with 46 additions and 10 deletions

View File

@@ -4,7 +4,7 @@ import importlib
import os
from typing import Optional
from frigate.config import GenAIConfig, GenAIProviderEnum
from frigate.config import CameraConfig, GenAIConfig, GenAIProviderEnum
PROVIDERS = {}
@@ -28,11 +28,14 @@ class GenAIClient:
self.provider = self._init_provider()
def generate_description(
self, thumbnails: list[bytes], metadata: dict[str, any]
self,
camera_config: CameraConfig,
thumbnails: list[bytes],
metadata: dict[str, any],
) -> Optional[str]:
"""Generate a description for the frame."""
prompt = self.genai_config.object_prompts.get(
metadata["label"], self.genai_config.prompt
prompt = camera_config.genai.object_prompts.get(
metadata["label"], camera_config.genai.prompt
).format(**metadata)
return self._send(prompt, thumbnails)