mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-07-15 00:11:15 +03:00
Mypy
This commit is contained in:
parent
5aee9f297a
commit
5513199b72
@ -332,7 +332,12 @@ class ObjectDescriptionProcessor(PostProcessorApi):
|
|||||||
"""Embed the description for an event."""
|
"""Embed the description for an event."""
|
||||||
start = datetime.datetime.now().timestamp()
|
start = datetime.datetime.now().timestamp()
|
||||||
camera_config = self.config.cameras[str(event.camera)]
|
camera_config = self.config.cameras[str(event.camera)]
|
||||||
description = self.genai_manager.description_client.generate_object_description(
|
client = self.genai_manager.description_client
|
||||||
|
|
||||||
|
if client is None:
|
||||||
|
return
|
||||||
|
|
||||||
|
description = client.generate_object_description(
|
||||||
camera_config, thumbnails, event
|
camera_config, thumbnails, event
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -64,7 +64,12 @@ class ReviewDescriptionProcessor(PostProcessorApi):
|
|||||||
Estimates ~1 token per 1250 pixels. Targets 98% context utilization with safety margin.
|
Estimates ~1 token per 1250 pixels. Targets 98% context utilization with safety margin.
|
||||||
Capped at 20 frames.
|
Capped at 20 frames.
|
||||||
"""
|
"""
|
||||||
context_size = self.genai_manager.description_client.get_context_size()
|
client = self.genai_manager.description_client
|
||||||
|
|
||||||
|
if client is None:
|
||||||
|
return 3
|
||||||
|
|
||||||
|
context_size = client.get_context_size()
|
||||||
camera_config = self.config.cameras[camera]
|
camera_config = self.config.cameras[camera]
|
||||||
|
|
||||||
detect_width = camera_config.detect.width
|
detect_width = camera_config.detect.width
|
||||||
@ -320,7 +325,12 @@ class ReviewDescriptionProcessor(PostProcessorApi):
|
|||||||
os.path.join(CLIPS_DIR, "genai-requests", f"{start_ts}-{end_ts}")
|
os.path.join(CLIPS_DIR, "genai-requests", f"{start_ts}-{end_ts}")
|
||||||
).mkdir(parents=True, exist_ok=True)
|
).mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
return self.genai_manager.description_client.generate_review_summary(
|
client = self.genai_manager.description_client
|
||||||
|
|
||||||
|
if client is None:
|
||||||
|
return None
|
||||||
|
|
||||||
|
return client.generate_review_summary(
|
||||||
start_ts,
|
start_ts,
|
||||||
end_ts,
|
end_ts,
|
||||||
events_with_context,
|
events_with_context,
|
||||||
|
|||||||
@ -90,7 +90,7 @@ class GeminiClient(GenAIClient):
|
|||||||
def list_models(self) -> list[str]:
|
def list_models(self) -> list[str]:
|
||||||
"""Return available model names from Gemini."""
|
"""Return available model names from Gemini."""
|
||||||
try:
|
try:
|
||||||
return sorted(m.name for m in self.provider.models.list())
|
return sorted(m.name or "" for m in self.provider.models.list())
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.warning("Failed to list Gemini models: %s", e)
|
logger.warning("Failed to list Gemini models: %s", e)
|
||||||
return []
|
return []
|
||||||
|
|||||||
@ -70,12 +70,15 @@ class GenAIClientManager:
|
|||||||
if not genai_cfg:
|
if not genai_cfg:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
if not genai_cfg.provider:
|
||||||
|
return None
|
||||||
|
|
||||||
provider_cls = PROVIDERS.get(genai_cfg.provider)
|
provider_cls = PROVIDERS.get(genai_cfg.provider)
|
||||||
if not provider_cls:
|
if not provider_cls:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
client = provider_cls(genai_cfg)
|
client: "GenAIClient" = provider_cls(genai_cfg)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.exception(
|
logger.exception(
|
||||||
"Failed to create GenAI client for provider %s: %s",
|
"Failed to create GenAI client for provider %s: %s",
|
||||||
|
|||||||
@ -134,6 +134,8 @@ class OllamaClient(GenAIClient):
|
|||||||
|
|
||||||
def list_models(self) -> list[str]:
|
def list_models(self) -> list[str]:
|
||||||
"""Return available model names from the Ollama server."""
|
"""Return available model names from the Ollama server."""
|
||||||
|
if self.provider is None:
|
||||||
|
return []
|
||||||
try:
|
try:
|
||||||
response = self.provider.list()
|
response = self.provider.list()
|
||||||
return sorted(
|
return sorted(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user