diff --git a/frigate/genai/__init__.py b/frigate/genai/__init__.py index 272420dab..3e939d28d 100644 --- a/frigate/genai/__init__.py +++ b/frigate/genai/__init__.py @@ -153,6 +153,9 @@ Each line represents a detection state, not necessarily unique individuals. Pare if "other_concerns" in schema.get("required", []): schema["required"].remove("other_concerns") + # OpenAI strict mode requires additionalProperties: false on all objects + schema["additionalProperties"] = False + response_format = { "type": "json_schema", "json_schema": { diff --git a/frigate/genai/llama_cpp.py b/frigate/genai/llama_cpp.py index 87443ac4f..ac698b3b6 100644 --- a/frigate/genai/llama_cpp.py +++ b/frigate/genai/llama_cpp.py @@ -36,19 +36,12 @@ def _to_jpeg(img_bytes: bytes) -> bytes | None: class LlamaCppClient(GenAIClient): """Generative AI client for Frigate using llama.cpp server.""" - LOCAL_OPTIMIZED_OPTIONS = { - "temperature": 0.7, - "repeat_penalty": 1.05, - "top_p": 0.8, - } - provider: str # base_url provider_options: dict[str, Any] def _init_provider(self): """Initialize the client.""" self.provider_options = { - **self.LOCAL_OPTIMIZED_OPTIONS, **self.genai_config.provider_options, } return (