diff --git a/frigate/config/camera/genai.py b/frigate/config/camera/genai.py index b47839dd5..4e893ab77 100644 --- a/frigate/config/camera/genai.py +++ b/frigate/config/camera/genai.py @@ -1,5 +1,5 @@ from enum import Enum -from typing import Optional +from typing import Any, Optional from pydantic import Field @@ -23,3 +23,5 @@ class GenAIConfig(FrigateBaseModel): base_url: Optional[str] = Field(default=None, title="Provider base url.") model: str = Field(default="gpt-4o", title="GenAI model.") provider: GenAIProviderEnum | None = Field(default=None, title="GenAI provider.") + keep_alive: int | str | None = Field(default="1h", title="Ollama keep_alive.") + extra_options: dict[str, Any] = Field(default={}, title="Ollama extra options.") diff --git a/frigate/genai/ollama.py b/frigate/genai/ollama.py index c392fadb9..fe6f944b0 100644 --- a/frigate/genai/ollama.py +++ b/frigate/genai/ollama.py @@ -48,7 +48,8 @@ class OllamaClient(GenAIClient): self.genai_config.model, prompt, images=images if images else None, - keep_alive="1h", + keep_alive=self.genai_config.keep_alive, + options=self.genai_config.extra_options, ) return result["response"].strip() except (TimeoutException, ResponseError) as e: