关于
Agent DVR 与 DeepStack AI、CodeProject AI、PlateRecognizer.com、Claude、Gemini、OpenAI (ChatGPT) 以及本地 LLM(如 Ollama、vLLM 和 LM Studio)完全集成,可添加智能警报过滤、对象识别、场景识别和智能事件控制。
除了 DeepStack 和 CodeProject AI 外,您还可以使用其他支持相同 API 的 AI 服务器:
对象识别与计算机视觉
- https://codeproject.github.io/ - 跨平台 GPU/CPU 基础 AI 处理服务器
- https://docs.platerecognizer.com/ - 车牌识别服务器(基于网页的 API)
- https://github.com/runningman84/docker-coral-rest-server - RPi(或 Linux/Mac)上的 Tensorflow-lite 模型,支持 Coral USB 加速棒加速
- https://github.com/robmarkcole/coral-pi-rest-server/ - 通过 Flask 应用在 Coral USB 加速器上运行的 Tensorflow-lite 模型
- https://xnorpx.github.io/blue-onyx/ - Blue Onyx 对象检测服务
云 AI 服务
- https://platform.openai.com/ - OpenAI API(ChatGPT、GPT-4 Vision)用于图像分析和聊天
- https://console.anthropic.com/ - Anthropic Claude API 用于高级推理和图像理解
- https://ai.google.dev/ - Google Gemini API 用于多模态 AI 功能
- https://docs.anthropic.com/ - Claude API 文档
- https://platform.openai.com/docs/ - OpenAI API 文档
- https://ai.google.dev/gemini-api/docs - Gemini API 文档
本地 AI 服务器(LLMs)
- https://ollama.com/ - Ollama:在本地运行大型语言模型
- https://docs.vllm.ai/ - vLLM:高吞吐量 LLM 推理和服务
- https://lmstudio.ai/ - LM Studio:易于使用的本地 LLM 桌面应用
- https://github.com/ollama/ollama - Ollama GitHub 代码库
- https://github.com/vllm-project/vllm - vLLM GitHub 代码库
添加 AI 模型
自定义 AI 模型使您可以扩展 Agent DVR 的对象检测功能,超越内置选项,例如识别野生动物、配送车辆或任何经过训练的模型可以找到的其他对象。要将您自己的模型文件添加到 Agent DVR 中,请转到服务器设置 > AI 设置,然后在 AI 模型下点击对象识别。Agent 附带两个预构建模型,已针对 Agent DVR 进行了性能调优。
在配置模型之前,您需要将其添加到 Agent DVR 的文件夹中(请参阅构建 AI 模型)。这通常位于 Agent/Media/Models/ONNX(路径可能因操作系统而异)。如果您不确定,完整路径将显示在"添加模型"页面上。Agent 使用 .onnx 模型。您可以使用 Python 工具将其他 AI 模型格式转换为 ONNX。
构建并复制模型后,将其添加到 Agent 很简单 - 点击添加模型:
- 名称:为您的模型命名 - 可以是任何您喜欢的名称。
- 说明:模型功能的可选说明。
- 模型文件:选择您复制到文件夹中的模型文件名。
- 标签列表:输入模型要查找的标签(或"类别")列表,CSV 格式,不带引号(空格会自动被删除)。
- 布局:选择您的模型是 NCHW 还是 NHWC。如果不确定,大多数模型使用 NCHW。
- 通道顺序:选择您的模型是否需要 RGB 或 BGR 格式的图像。大多数模型使用 RGB。如果您的模型是单通道(灰度),此项将被忽略。
- 标准化:选择在将数据用于您的模型之前应如何对其进行标准化。大多数模型使用重新缩放 (0-1),将像素值除以 255。
- 填充图像:这控制图像是否应该拉伸到输入尺寸或使用黑条填充。通常填充图像可以获得更好的精度。
- 包含 NMS:如果您的模型已在内部执行非最大值抑制,请选中此项。否则 Agent 将自行执行 NMS。NMS 控制如何过滤结果矩形。
- 默认 NMS:设置 NMS 的重叠限制器(默认为 45% 重叠)。
添加模型后,它将可在您设备的对象识别选项卡中使用。如果您遇到问题,可以返回模型配置进行更改。Agent 还支持重新加载模型文件,因此您可以在其运行时使用新版本覆盖它。
设置 AI 服务器列表
要设置 AI 服务器,请点击 Agent DVR 主界面右上角的图标。然后在配置下点击设置,从下拉菜单中选择AI 设置,再点击AI 服务器列表。
Agent DVR 与 CodeProject.AI 集成,支持多种 AI 功能,包括对象识别、人脸识别、ALPR(自动车牌识别)和超分辨率(增强)。PlateRecognizer.com 也可用作 ALPR 提供商。CodeProject.AI 是开源的、免费的,并兼容大多数平台。
首先,为您的平台安装一个 AI 服务器,然后通过点击AI 服务器列表再点击添加将 Agent DVR 连接到该服务器。
您可以根据需要向 Agent DVR 添加多个 AI 服务器。Agent DVR 中的摄像头可配置为对每个功能使用不同的 AI 服务器,也可以使用一个 AI 服务器完成所有任务。
配置您的服务器
- 名称:为您的服务器命名,例如 Cat Catcher。
- AI 服务器 URL:输入您的 AI 服务器的 URL,例如 http://localhost:32168/
- API 密钥:如果已设置,请输入您的密钥(可选)。
- 超时时间:服务器请求的超时时间,单位为秒。
- 重试延迟:重试对该服务器的失败请求前等待的时间,单位为秒。
点击确定保存您的设置。
使用 OpenAI
要设置 OpenAI ("ChatGPT") 来回答有关视频源中发生的情况的问题,请导航到服务器设置 - AI 设置,然后在询问 AI 下选择"OpenAI"。
- URL: 输入服务的 URL。默认值为"https://api.openai.com/v1/responses"。
- OpenAI API 密钥: 在 OpenAI 注册后,请转到API 密钥页面并生成新的密钥。复制此密钥并将其粘贴到指定字段中。
- 模型: 指定要使用的模型。默认值为 gpt-5.4-mini。OpenAI 可能会在稍后时间删除或更改此项。
- 最大令牌数: 这设置每个请求的最大令牌使用量。如果遇到问题,请在 /logs.html 查看日志,因为这可能与令牌使用量有关。
配置 OpenAI 后,请参阅询问 AI,了解有关如何使用它回答有关摄像头源中发生的一般问题的说明。
使用 Claude
要设置 Claude AI 来回答关于视频源中发生的情况的问题,请导航到服务器设置 - AI 设置,然后在询问 AI 下选择"Claude"。
- URL: 输入服务的 URL。默认值为 "https://api.anthropic.com/v1/messages"。
- Claude API 密钥: 注册 Claude 后,访问 API 密钥页面并创建新的密钥。将此密钥复制并粘贴到字段中。
- 版本: 指定要使用的 API 版本。默认值为 2023-06-01。Anthropic 可能在某个时刻移除或更改此版本。
- 模型: 指定要使用的模型。书写时的默认值为 claude-sonnet-4-6(Claude Sonnet 4.6)。
- 最大令牌数: 这控制每个请求的最大令牌消耗。如果遇到问题,请检查 /logs.html 中的日志,因为可能与令牌消耗有关。
配置 Claude 后,请参阅 询问 AI 以了解如何使用它识别摄像头源中的一般场景。
使用 Gemini
要设置 Gemini 来回答有关视频源中发生的情况的问题,请导航至服务器设置 - AI 设置并在询问 AI 下选择 "Gemini"。
- URL:输入服务的 URL。默认值为 "https://generativelanguage.googleapis.com"。
- Gemini API 密钥:注册 Gemini 后,请访问API 密钥页面并创建新的密钥。将此密钥复制并粘贴到字段中。
- 版本:指定要使用的 API 版本。默认值为 v1beta。Google 可能随时会移除或更改此版本。
- 模型:指定要使用的模型。书写声时的默认值为 gemini-2.5-flash。输入 API 密钥后,Agent 将列出您账户可用的视觉模型。
- 最大令牌数: 这控制每个请求的最大令牌消耗。如果遇到问题,请检查 /logs.html 中的日志,因为可能与令牌消耗有关。
配置 Gemini 后,请参阅询问 AI了解如何使用它识别摄像头源中的常见场景。
使用其他 LLM 服务器
您可以使用自己的本地 LLM 服务器(如 vLLM、Ollama 和 LM Studio)来描述 Agent DVR 从您的摄像头捕获的图像在警报事件中,以及回答关于视频流中发生的事情的问题。请参阅 描述和 询问 AI。
要配置本地 AI 服务器,请转到服务器设置 - AI 设置,然后点击您要使用的 LLM(Ollama、vLLM 或 LM Studio)旁边的配置按钮。
- URL:指定您的 LLM 服务器运行的端点。默认 URL 为:
- Ollama:
http://localhost:11434/api/chat - vLLM:
http://localhost:8000/v1/chat/completions - LM Studio:
http://localhost:1234/v1/chat/completions
- Ollama:
- API 密钥:如果您的 LLM 服务器需要身份验证,请在此输入 API 密钥。大多数本地服务器不需要此密钥,除非特别配置。
- 模型:选择具有视觉功能的模型用于图像分析。您必须已在 LLM 服务器中下载并加载此模型。Agent 建议一些受欢迎的选项,包括:
- Qwen VL 模型(高性能)
- Gemma 4(尺寸范围广)
- Llama 3.2 Vision(Meta)
- Mistral Small 3.1
- moondream(非常小,适合低端硬件,仅限 Ollama)
- 温度:控制响应中的创意性与准确性(0.0-1.0)。较低的值(0.3-0.4)会产生更多事实性、一致的描述。较高的值(0.6-0.8)会生成更多样化、富有创意的响应。建议值:安全摄像头分析为 0.4。
- 最大令牌数:AI 响应中单词/令牌的最大数量。更高的值允许更详细的描述,但生成时间更长。建议值:详细图像分析为 300-500,简短描述为 150-250。
- top_p:通过限制词汇选择来控制响应多样性(0.0-1.0)。较低的值使用更常见的单词,较高的值允许更多样化的词汇。建议值:0.9,以实现准确性和自然语言的良好平衡。
- top_k:将模型限制为从最可能的前 K 个单词中选择。较低的值(20-40)产生更集中的响应,较高的值(80-100)允许更多变化。建议值:50,用于可靠的图像描述。
使用 PlateRecognizer.com
要在 Agent DVR 中配置 LPR (ANPR 或车牌识别),请转到服务器设置 - AI 设置,并在 Plate Recognizer 下输入详细信息。访问 Plate Recognizer 注册免费试用版。不需要信用卡。
使用 DoubleTake
DoubleTake 是一个开源平台,提供统一的 API 用于处理人脸识别,支持:
- CompreFace
- Amazon Rekognition
- DeepStack
- CodeProject.AI Server
- Facebox
您需要安装并配置 DoubleTake,选择您偏好的人脸识别选项。
DoubleTake 设置完成后,打开 Agent DVR 并进入服务器设置 - AI 设置,点击 DoubleTake 旁边的配置按钮。
输入您的 doubletake 服务器 URL(例如 http://localhost:3000/)以及密码(如已设置)。
点击确定,然后编辑摄像头并进入人脸识别。将 AI 服务器选项设置为 DoubleTake 并根据需要配置人脸识别。
管理人工智能模块
在 AI 服务器列表中(如上所述),您可以选择配置、测试、编辑和删除 AI 服务器。点击配置 按钮以显示选定服务器上可用或已安装的模块。
Agent DVR 从您的服务器检索当前模块列表,并为安装、卸载、配置和测试每个模块提供用户界面。虽然 Agent DVR 仅使用这些模块的一个子集,但为所有默认 CodeProject.AI 模块提供支持。
要在 Agent DVR 中使用 ALPR(自动车牌识别)、超分辨率或人脸识别,您需要从此页面安装相应的模块。通常,默认设置对这些模块来说已经足够,但您可以通过点击每个模块下的 图标来配置它们。