AI (人工智能): 服务器
关于
Agent DVR 完全与 AI 服务器集成,如 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/ - 车牌识别服务器(基于 Web 的 API)
- https://github.com/runningman84/docker-coral-rest-server - 在 RPi(或 Linux/Mac)上使用 Coral USB 设备加速的 Tensorflow-lite 模型
- https://github.com/robmarkcole/coral-pi-rest-server/ - 通过 Flask 应用程序在 Coral USB 加速器上运行的 Tensorflow-lite 模型
- https://github.com/xnorpx/blue-candle - 超小型物体识别服务器
云 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的Models文件夹(参见构建AI模型)。此文件夹通常位于Agent/Media/Models/ONNX(路径可能因OS而异)。如果你不确定,添加模型页面上会显示完整路径。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以获取有关如何将其用于回答有关摄像头视频源中发生的事情的一般问题的说明。
使用云端
To set up Claude AI to answer questions about what's happening in your video feed, navigate to Server Settings - AI Servers and select "Claude" under Ask AI.
- URL: 输入服务的URL。默认为"https://api.anthropic.com/v1/messages"。
- Claude API Key: 注册Claude后,访问API密钥页面并创建新的秘密密钥。复制并将此密钥粘贴到字段中。
- Version: 指定要使用的API版本。默认为2023-06-01。Anthropic可能会在某个时刻删除或更改此版本。
- Model: 指定要使用的模型。撰写时的默认值为claude-sonnet-4-6(Claude Sonnet 4.6)。
- Max Tokens: 这控制每个请求的最大令牌消耗。如果遇到问题,请在/logs.html检查日志,可能与令牌消耗有关。
配置Claude后,请参阅Ask AI了解如何使用它识别摄像头源中的常见场景。
使用Gemini
要设置 Gemini 以回答关于视频源中发生的情况的问题,请导航到服务器设置 - AI 设置并在"询问 AI"下选择"Gemini"。
- URL: 输入服务的 URL。默认值为"https://generativelanguage.googleapis.com"。
- Gemini API 密钥: 注册 Gemini 后,访问API 密钥页面并创建新的密钥。将此密钥复制并粘贴到该字段中。
- 版本: 指定要使用的 API 版本。默认值为 v1。Google 可能随时删除或更改此版本。
- 模型: 指定要使用的模型。编写时的默认值为 gemini-2.5-flash。输入 API 密钥后,Agent DVR 将列出您帐户可用的视觉模型。
- Max Tokens: 这控制每个请求的最大令牌消耗。如果遇到问题,请在/logs.html检查日志,可能与令牌消耗有关。
配置 Gemini 后,请参阅询问 AI了解如何使用它来识别摄像头源中的常见场景。
使用其他LLM服务器
从 v6.5.3.0+ 开始,你可以使用自己的本地 LLM 服务器(如 vLLM、Ollama 和 LM Studio)来描述 Agent DVR 从你的摄像机捕获的图像(在告警事件中),并回答关于你的视频流中发生什么的问题。请参阅 AI Describe 和 Ask AI。
要配置本地 AI 服务器,请转到服务器设置 - AI Settings,并点击你要使用的 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 Key: 如果你的 LLM 服务器需要身份验证,请在此输入 API 密钥。大多数本地服务器不需要此密钥,除非已特别配置。
- Model: 选择具有视觉功能的模型用于图像分析。你必须已在 LLM 服务器中下载并加载此模型。Agent 建议一些流行的选项,包括:
- Qwen VL 模型(高性能)
- Gemma 4(各种尺寸可选)
- Llama 3.2 Vision (Meta)
- Mistral Small 3.1
- moondream(非常小,适合低端硬件,仅 Ollama)
- Temperature: 控制响应中的创意度与准确度(0.0-1.0)。较低的值(0.3-0.4)会产生更多事实性和一致的描述。较高的值(0.6-0.8)会生成更多变化和创意的响应。建议:安全摄像机分析采用 0.4。
- Max Tokens: 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上注册免费试用。无需信用卡。
使用 DoubleTake
DoubleTake是一个开源平台,提供统一API用于处理面部识别,使用:
- CompreFace
- Amazon Rekognition
- DeepStack
- CodeProject.AI Server
- Facebox
你需要安装和配置DoubleTake并选择你偏好的面部识别选项。
DoubleTake设置完成后,打开Agent DVR并转到服务器设置 - AI设置,点击DoubleTake旁的配置按钮。
输入你的doubletake服务器URL(例如http://localhost:3000/)以及密码(如已设置)。
点击确定,然后编辑摄像头并转到面部识别。将AI服务器选项设置为DoubleTake并根据需要配置面部识别。