From cadd5da0719372e93c3260cf094e0794cb5f07f8 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Fri, 27 Feb 2026 08:25:26 -0700 Subject: [PATCH] Add new title and desc --- frigate/config/camera/genai.py | 38 ++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/frigate/config/camera/genai.py b/frigate/config/camera/genai.py index 790b66f25..56d7322f5 100644 --- a/frigate/config/camera/genai.py +++ b/frigate/config/camera/genai.py @@ -26,20 +26,46 @@ class GenAIRoleEnum(str, Enum): class GenAIConfig(FrigateBaseModel): """Primary GenAI Config to define GenAI Provider.""" - api_key: Optional[EnvString] = Field(default=None, title="Provider API key.") - 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.") + api_key: Optional[EnvString] = Field( + default=None, + title="API key", + description="API key required by some providers (can also be set via environment variables).", + ) + base_url: Optional[str] = Field( + default=None, + title="Base URL", + description="Base URL for self-hosted or compatible providers (for example an Ollama instance).", + ) + model: str = Field( + default="gpt-4o", + title="Model", + description="The model to use from the provider for generating descriptions or summaries.", + ) + provider: GenAIProviderEnum | None = Field( + default=None, + title="Provider", + description="The GenAI provider to use (for example: ollama, gemini, openai).", + ) roles: list[GenAIRoleEnum] = Field( default_factory=lambda: [ GenAIRoleEnum.embeddings, GenAIRoleEnum.vision, GenAIRoleEnum.tools, ], - title="GenAI roles (tools, vision, embeddings); one provider per role.", + title="Roles", + description="GenAI roles (tools, vision, embeddings); one provider per role.", ) provider_options: dict[str, Any] = Field( - default={}, title="GenAI Provider extra options." + default={}, + title="Provider options", + description="Additional provider-specific options to pass to the GenAI client.", + json_schema_extra={"additionalProperties": {"type": "string"}}, + ) + runtime_options: dict[str, Any] = Field( + default={}, + title="Runtime options", + description="Runtime options passed to the provider for each inference call.", + json_schema_extra={"additionalProperties": {"type": "string"}}, ) runtime_options: dict[str, Any] = Field( default={}, title="Options to pass during inference calls."