AI (人工智能): 服务器

关于

Agent DVR 与 DeepStack AI、CodeProject AI、PlateRecognizer.com、Claude、Gemini、OpenAI (ChatGPT) 以及本地 LLM(如 Ollama、vLLM 和 LM Studio)完全集成,可添加智能警报过滤、对象识别、场景识别和智能事件控制。

除了 DeepStack 和 CodeProject AI 外,您还可以使用其他支持相同 API 的 AI 服务器:

对象识别与计算机视觉

云 AI 服务

本地 AI 服务器(LLMs)

注意:云 AI 服务需要 API 密钥,可能产生使用成本。本地 AI 服务器在您自己的硬件上运行,数据保持私密,但需要更多系统资源。

添加 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 服务器列表

较新版本的 Agent DVR 内置了 AI 功能,可实现更快的处理速度和更低的资源开销。使用本地 AI,它可以实现实时响应,而无需依赖速度较慢的 AI 服务器。
AI Server List

要设置 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 服务器完成所有任务。

警告: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
  • 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,用于可靠的图像描述。
注意:您必须单独安装和配置所选的 LLM 服务器。在配置 Agent DVR 之前,请确保已下载具有视觉功能的模型。为了在安全摄像头上获得最佳效果,请使用至少具有 7B 参数的模型,并确保您的系统具有充足的 VRAM(建议 5GB 以上)。

使用 PlateRecognizer.com

要在 Agent DVR 中配置 LPR (ANPR 或车牌识别),请转到服务器设置 - AI 设置,并在 Plate Recognizer 下输入详细信息。访问 Plate Recognizer 注册免费试用版。不需要信用卡。

  • URL: 输入服务的 URL。默认为 "https://api.platerecognizer.com/v1/plate-reader/",或如果自行托管实例,请使用您自己的服务器。
  • 令牌: 注册 Plate Recognizer 后,访问 账户页面并复制 API 令牌
  • 区域: 留空以使用默认设置,或输入 区域的 CSV 列表。
  • 配置: 如需要,从文档输入其他配置值。

使用 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 服务器列表中(如上所述),您可以选择配置、测试、编辑和删除 AI 服务器。点击配置 按钮以显示选定服务器上可用或已安装的模块。

Agent DVR 从您的服务器检索当前模块列表,并为安装、卸载、配置和测试每个模块提供用户界面。虽然 Agent DVR 仅使用这些模块的一个子集,但为所有默认 CodeProject.AI 模块提供支持。

建议仅安装对象识别模块选项中的一个。查看每个选项的说明,以确定最适合您系统的选项。

要在 Agent DVR 中使用 ALPR(自动车牌识别)、超分辨率或人脸识别,您需要从此页面安装相应的模块。通常,默认设置对这些模块来说已经足够,但您可以通过点击每个模块下的 图标来配置它们。