生成式 AI
配置
生成式 AI 可以为所有摄像头启用,或仅为特定摄像头启用。即使某个摄像头的生成式 AI 功能已禁用,你仍然可以通过 HTTP API 手动为事件生成描述。目前有 3 种原生提供商可与 Frigate 集成。支持 OpenAI 标准 API 的其他提供商也可使用。请参阅下面的 OpenAI 部分。
要使用生成式 AI,你必须在 Frigate 配置的全局层级定义一个提供商。如果你选择的提供商需要 API 密钥,可以直接将其粘贴在配置中,或存储在环境变量中(以FRIGATE_为前缀)。
Ollama
警告
不建议在 CPU 上使用 Ollama,高推理时间会使生成式 AI 变得很不实用。
Ollama允许你自托管大型语言模型并保持所有内容在本地运行。强烈建议在配备 Nvidia 独立显卡的机器或 Apple silicon Mac 上托管此服务以获得最佳性能。
大多数 7b 参数的 4-bit 视觉模型都能在 8GB 显存中运行。也有可用的Docker 容器。
并行请求也有一些注意事项。你需要设置OLLAMA_NUM_PARALLEL=1并选择适合你硬件和偏好的OLLAMA_MAX_QUEUE和OLLAMA_MAX_LOADED_MODELS值。请参阅Ollama 文档(英文)。
模型类型:指令型与思考型
大多数视觉-语言模型都以指令型的形式提供,这类模型经过微调,能够遵循指令并针对提示词生成简洁的回复。不过,部分模型(例如部分通义千问视觉模型或迷你 GPT 变体)同时提供指令型与思考型两个版本。
- 指令型模型:强烈建议在 Frigate 中使用此类模型。这类模型可生成直接、相关且具备实用价值的描述内容,最契合 Frigate 对目标物体及事件摘要的使用场景需求。
- 思考型模型:这类模型经过微调后,输出内容更偏向自由格式、开放式且带有推测性质,通常不够简洁,也无法生成 Frigate 所需的实用性摘要。因此,Frigate 不建议也不支持使用思考型模型。
部分模型被标记为混合型(可同时处理思考类与指令类任务)。对于这类模型,Frigate 会始终采用指令型提示词,并明确禁用思考模式的行为,以确保生成简洁且实用的回复。
建议: 在 Frigate 配置中使用任何模型时,请务必选择带 -instruct 后缀的版本,或官方文档标注为指令型/带有指令标签的变体。若存在疑问,可查阅模型供应商提供的文档或模型库,以确认应使用的正确模型变体。
支持的模型
你必须为 Frigate 使用一个具备视觉能力的模型。当前可用的模型变体可以在他们的模型库中找到。需要注意的是,Frigate 不会自动下载你在配置中指定的模型,Ollama 会尝试下载该模型,但下载过程可能超过超时时间,因此建议你在 Ollama 服务器或 Docker 容器中提前通过运行 ollama pull your_model 来拉取模型。同时请注意,Frigate 配置中指定的模型必须与你实际下载的模型标签(tag)相匹配。
信息
每个模型都提供多种参数规模(如 3b、4b、8b 等)。参数规模越大,模型处理复杂任务和理解情境的能力越强,但同时需要更多的内存和计算资源。建议你尝试多个模型并进行实验,以找出表现最佳的模型。
提示
如果你想为 Frigate 和 HomeAssistant 使用同一个模型,该模型需要同时支持视觉能力和工具调用功能。qwen3-VL 在 Ollama 中能够同时支持视觉和工具调用。
以下是推荐的模型:
| Model | Notes |
|---|---|
qwen3-vl | 强大的视觉和情境理解能力,但对显存(VRAM)要求较高 |
Intern3.5VL | 速度相对较快,具有良好的视觉理解能力 |
gemma3 | 擅长每一帧画面之间的理解,但推理速度较慢 |
qwen2.5-vl | 速度快且功能强大,具有良好的视觉理解能力 |
NOTE
你应至少有 8GB 可用 RAM(或在 GPU 上运行时为显存)来运行 7B 模型,16GB 运行 13B 模型,32GB 运行 33B 模型。
Ollama 云端模型
Ollama 同样支持云端模型。在此模式下,本地 Ollama 实例负责处理来自 Frigate 的请求,而模型推理则在云端完成。你只需在本地完成 Ollama 的部署,使用 Ollama 账号登录后,在 Frigate 配置文件中指定云端模型的名称即可。更多详情请查阅 Ollama 云端模型的官方文档。
配置
genai:
provider: ollama
base_url: http://localhost:11434
model: qwen3-vl:4bGoogle Gemini
Google Gemini API 提供了免费套餐,但该套餐的配额限制可能无法满足 Frigate 的常规使用需求。请根据你的部署场景选择合适的计费套餐。
支持的模型
你必须使用支持视觉的图生文模型。当前模型变体可在其文档中找到。
获取 API 密钥
要开始使用 Gemini,你必须首先从Google AI Studio获取 API 密钥。
- 接受服务条款
- 从右侧导航栏点击"获取 API 密钥"
- 点击"在新项目中创建 API 密钥"
- 复制 API 密钥用于你的配置
配置
genai:
provider: gemini
api_key: "{FRIGATE_GEMINI_API_KEY}"
model: gemini-2.5-flashNOTE
若需使用其他兼容Gemini的 API 接口,可在provider_options中通过base_url键配置对应服务商的 API 地址,示例如下:
genai:
provider: gemini
...
provider_options:
base_url: https://...该配置还支持其他 HTTP 相关参数,可参考 python-genai 官方文档。
OpenAI
OpenAI 没有为其 API 提供免费等级。随着 gpt-4o 的发布,价格已经降低,如果你选择此路线,每次生成应该只需几分钱。
如果你打算使用中国大陆的各个 AI 提供商,他们大部分都兼容 OpenAI API 接口。
警告
请注意,如果你的摄像头位于公共领域(例如过道)等会检测过多物体/目标的地方,过多的物体/目标可能会很快耗尽你的资源包。请务必不要开启后付费模式!
支持的模型
你必须使用支持视觉的图生文模型。当前模型变体可在其文档中找到。
NOTE
如果你选择国内兼容 OpenAI API 的大模型提供商,请注意选择支持图生文的模型。例如腾讯云的hunyuan-vision模型。DeepSeek 官方目前未提供其图生文DeepSeek-VL2模型的 API,但可以在第三方服务商处获取由他们部署的版本。
获取 API 密钥
要开始使用 OpenAI,你必须首先创建 API 密钥并配置计费。
配置
genai:
provider: openai
api_key: "{FRIGATE_OPENAI_API_KEY}"
model: gpt-4oNOTE
要使用兼容 OpenAI API 的其他服务商(例如阿里云和腾讯云等国内云厂商),需要设置环境变量 OPENAI_BASE_URL 为你的服务商的 API endpoint。
例如腾讯云请设置为https://api.hunyuan.cloud.tencent.com/v1
提示
对于未在 API 响应中暴露已配置上下文长度的 OpenAI 兼容服务器(例如 llama.cpp),你可以在 provider_options 中手动指定上下文长度:
genai:
provider: openai
base_url: http://your-llama-server
model: your-model-name
provider_options:
context_size: 8192 # 指定已配置的上下文长度此配置可确保 Frigate 在生成提示词时,使用正确的上下文窗口长度。
Azure OpenAI
微软通过 Azure OpenAI 提供了几种视觉模型。需要订阅。
支持的模型
你必须使用支持视觉的图生文模型。当前模型变体可在其文档中找到。
创建资源并获取 API 密钥
要开始使用 Azure OpenAI,你必须首先创建资源。你需要你的 API 密钥、模型名称和资源 URL,其中必须包含api-version参数(参见下面的示例)。
配置
genai:
enabled: True
provider: azure_openai
base_url: https://instance.cognitiveservices.azure.com/openai/responses?api-version=2025-04-01-preview
model: gpt-5-mini
api_key: "{FRIGATE_OPENAI_API_KEY}"