blakeblackshear.frigate/frigate/config/camera/genai.py
Nicolas Mowen 4b33e3765e
Add ability to pass additional args to Ollama (#19484)
* Call out recognized objects more specifically

* Cleanup

* Make keep_alive and options configurable

* Generalize

* Use for other providers
2025-08-13 09:28:01 -06:00

29 lines
850 B
Python

from enum import Enum
from typing import Any, Optional
from pydantic import Field
from ..base import FrigateBaseModel
from ..env import EnvString
__all__ = ["GenAIConfig", "GenAIProviderEnum"]
class GenAIProviderEnum(str, Enum):
openai = "openai"
azure_openai = "azure_openai"
gemini = "gemini"
ollama = "ollama"
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.")
provider_options: dict[str, Any] = Field(
default={}, title="GenAI Provider extra options."
)