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."""
|
||||
start = datetime.datetime.now().timestamp()
|
||||
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
|
||||
)
|
||||
|
||||
|
||||
@ -64,7 +64,12 @@ class ReviewDescriptionProcessor(PostProcessorApi):
|
||||
Estimates ~1 token per 1250 pixels. Targets 98% context utilization with safety margin.
|
||||
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]
|
||||
|
||||
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}")
|
||||
).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,
|
||||
end_ts,
|
||||
events_with_context,
|
||||
|
||||
@ -90,7 +90,7 @@ class GeminiClient(GenAIClient):
|
||||
def list_models(self) -> list[str]:
|
||||
"""Return available model names from Gemini."""
|
||||
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:
|
||||
logger.warning("Failed to list Gemini models: %s", e)
|
||||
return []
|
||||
|
||||
@ -70,12 +70,15 @@ class GenAIClientManager:
|
||||
if not genai_cfg:
|
||||
return None
|
||||
|
||||
if not genai_cfg.provider:
|
||||
return None
|
||||
|
||||
provider_cls = PROVIDERS.get(genai_cfg.provider)
|
||||
if not provider_cls:
|
||||
return None
|
||||
|
||||
try:
|
||||
client = provider_cls(genai_cfg)
|
||||
client: "GenAIClient" = provider_cls(genai_cfg)
|
||||
except Exception as e:
|
||||
logger.exception(
|
||||
"Failed to create GenAI client for provider %s: %s",
|
||||
|
||||
@ -134,6 +134,8 @@ class OllamaClient(GenAIClient):
|
||||
|
||||
def list_models(self) -> list[str]:
|
||||
"""Return available model names from the Ollama server."""
|
||||
if self.provider is None:
|
||||
return []
|
||||
try:
|
||||
response = self.provider.list()
|
||||
return sorted(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user