AI: Servidores

Acerca de

Agent DVR se integra completamente con servidores de IA como DeepStack AI, CodeProject AI, PlateRecognizer.com, Claude, Gemini, OpenAI (ChatGPT) y LLMs locales como Ollama, vLLM y LM Studio para añadir filtrado inteligente de alertas, reconocimiento de objetos, reconocimiento de escenas y control inteligente de eventos.

Además de DeepStack y CodeProject AI, también puedes usar otros servidores de IA que soporten la misma API:

Reconocimiento de Objetos y Visión por Computadora
Servicios de IA en la Nube
Servidores de IA Locales (LLMs)
Nota: Los servicios de IA en la nube requieren claves de API y pueden incurrir en costos de uso. Los servidores de IA locales funcionan en tu propio hardware y mantienen los datos privados, pero requieren más recursos del sistema.

Añadiendo modelos de IA

Para agregar tus propios archivos de modelo en Agent DVR, ve a Configuración del Servidor > Configuración de IA y haz clic en Configurar bajo Modelos de IA. Agent viene con dos modelos preconstruidos que han sido ajustados para el rendimiento en Agent DVR.

Antes de configurar un modelo, necesitarás agregarlo a la carpeta de Modelos de Agent DVR. Esto generalmente se encuentra en Agent/Media/Models/ONNX (la ruta puede variar según el sistema operativo). La ruta completa se muestra en la página Agregar Modelo si no estás seguro. Agent utiliza modelos .onnx. Puedes convertir otros formatos de modelos de IA a ONNX utilizando herramientas de Python.

Una vez que hayas construido y copiado el modelo, agregarlo a Agent es fácil: haz clic para agregar un modelo:

  • Nombre: Dale un nombre a tu modelo; esto puede ser cualquier cosa que desees.
  • Archivo del Modelo: Selecciona el nombre del archivo del modelo que copiaste en la carpeta.
  • Etiquetas: Ingresa una lista de etiquetas (o "clases") que tu modelo busca en formato CSV sin comillas (los espacios se eliminan automáticamente).
  • Diseño: Selecciona si tu modelo es NCHW o NHWC. La mayoría de los modelos son NCHW si no estás seguro.
  • Orden de Canal: Selecciona si tu modelo quiere imágenes en RGB o BGR. La mayoría de los modelos utilizan RGB. Si tu modelo es de un solo canal (escala de grises), esto será ignorado.
  • Normalizar: Selecciona cómo se deben normalizar los datos antes de ser utilizados en tu modelo. La mayoría de los modelos utilizan normalización 0-1 (dividir los valores de los píxeles por 255).
  • Rellenar Imagen: Esto controla si la imagen debe ser estirada a las dimensiones de entrada o rellenada con barras negras. Generalmente es mejor rellenar imágenes para mayor precisión.
  • ¿Tiene NMS? Marca esto si tu modelo ya realiza Supresión de No Máximos internamente. De lo contrario, Agent realizará NMS por sí mismo. NMS controla cómo se filtran los rectángulos de resultado.
  • NMS Predeterminado: Establece el limitador de superposición para NMS (el valor predeterminado es 45% de superposición).

Una vez que hayas agregado tu modelo, estará disponible para su uso en la pestaña de Reconocimiento de Objetos de tu dispositivo. Si tienes problemas, puedes volver a la configuración del modelo y hacer cambios. Agent también admite recargar el archivo del modelo, por lo que puedes sobrescribirlo con una nueva versión mientras está en funcionamiento.

Configuración de Servidores de IA

Lista de Servidores AI

Para configurar los Servidores AI, haga clic en el icono en la parte superior izquierda de la interfaz principal de Agent DVR. Luego haga clic en Configuración bajo Configuración, seleccione Configuración de AI en el menú desplegable y haga clic en Configurar bajo Servidores AI.

Agent DVR se integra con CodeProject.AI para varias funciones de AI, incluyendo reconocimiento de objetos, reconocimiento facial, ALPR (Reconocimiento Automático de Matrículas) y super resolución (mejorar). PlateRecognizer.com también es compatible como proveedor de ALPR. CodeProject.AI es de código abierto, gratuito y compatible con la mayoría de las plataformas.

Para comenzar, instale un servidor AI para su plataforma y conecte Agent DVR a él haciendo clic en el botón Configurar y luego en Agregar.

Puede agregar tantos servidores AI a Agent DVR como sea necesario. Las cámaras en Agent DVR se pueden configurar para usar diferentes servidores AI para cada función, o puede usar un servidor AI para todas las tareas.

Advertencia: El procesamiento de AI puede ser intensivo en recursos. Asegúrese de que su computadora tenga suficiente potencia para ejecutarlo.
Configurando su Servidor
  • Nombre: Nombre su servidor, por ejemplo, Cazador de Gatos.
  • URL del Servidor AI: Ingrese la URL de su servidor AI, por ejemplo, http://localhost:32168/
  • Clave API: Ingrese su clave si está configurada (opcional).
  • Tiempo de espera: El tiempo de espera en segundos para las solicitudes del servidor.
  • Retraso de reintento: El tiempo en segundos antes de reintentar una solicitud fallida a este servidor.

Haga clic en OK para guardar su configuración.

Utilizando OpenAI

Para configurar OpenAI ("Chat GPT") para responder preguntas sobre lo que está sucediendo en su transmisión de video, vaya a Configuración del Servidor - Servidores de IA y seleccione "Open AI" en Preguntar a la IA.

  • URL: Ingrese la URL del servicio. El valor predeterminado es "https://api.openai.com/v1/chat/completions".
  • Clave de API de OpenAI: Después de registrarse en OpenAI, vaya a la Página de Claves API y genere una nueva clave secreta. Copie y pegue esta clave en el campo especificado.
  • Modelo: Especifique el modelo a utilizar. El valor predeterminado es gpt-4o. OpenAI puede eliminar o cambiar esto en un momento posterior.
  • Máximo de Tokens: Esto establece el uso máximo de tokens por solicitud. Si encuentra problemas, verifique los registros en /logs.html, ya que podría estar relacionado con el uso de tokens.

Una vez configurado OpenAI, consulte Preguntar a la IA para obtener instrucciones sobre cómo utilizarlo para responder preguntas generales sobre lo que está sucediendo en la transmisión de su cámara.

Usando Claude

Para configurar Claude AI para responder preguntas sobre lo que está sucediendo en su transmisión de video, vaya a Configuración del Servidor - Servidores de IA y seleccione "Claude" en Preguntar a la IA.

  • URL: Ingrese la URL del servicio. El valor predeterminado es "https://api.anthropic.com/v1/messages".
  • Clave de API de Claude: Después de registrarse en Claude, visite la Página de Claves de API y cree una nueva clave secreta. Copie y pegue esta clave en el campo.
  • Versión: Especifique la versión a utilizar. El valor predeterminado es 2023-06-01. Esto puede ser eliminado o cambiado en algún momento por Anthropic.
  • Modelo: Especifique el modelo a utilizar. El valor predeterminado en el momento de la escritura es claude-3-sonnet-20240229.
  • Máximo de Tokens: Esto controla el gasto máximo de tokens por solicitud. Revise los registros en /logs.html si tiene problemas, ya que podría estar relacionado con el gasto de tokens.

Una vez que Claude esté configurado, consulte Preguntar a la IA para ver cómo usarlo para reconocer escenarios generales en la transmisión de su cámara.

Usando Gemini

Para configurar Gemini para responder preguntas sobre lo que está sucediendo en su transmisión de video, vaya a Configuración del servidor - Servidores de IA y seleccione "Gemini" en Preguntar a la IA.

  • URL: Ingrese la URL del servicio. El valor predeterminado es "https://generativelanguage.googleapis.com".
  • Clave de API de Gemini: Después de registrarse en Gemini, visite la Página de claves API y cree una nueva clave secreta. Copie y pegue esta clave en el campo.
  • Versión: Especifique la versión a utilizar. El valor predeterminado es v1beta. Esto puede ser eliminado o cambiado en algún momento por Google.
  • Modelo: Especifique el modelo a utilizar. El valor predeterminado en el momento de la escritura es gemini-1.5-flash.
  • Máximo de tokens: Esto controla el gasto máximo de tokens por solicitud. Revise los registros en /logs.html si tiene problemas, ya que podría estar relacionado con el gasto de tokens.

Una vez que Gemini esté configurado, consulte Preguntar a la IA para saber cómo usarlo para reconocer escenarios generales en la transmisión de su cámara.

Usando otros servidores LLM

Desde v6.5.3.0+ puedes usar tus propios servidores LLM locales (como vLLM, Ollama y LM Studio) para describir las imágenes que Agent DVR captura de tus cámaras en eventos de alerta y responder preguntas sobre lo que está sucediendo en tus transmisiones de video. Consulta AI Describe y Ask AI.

Para configurar un servidor de IA local, ve a Configuración del Servidor - Servidores de IA y haz clic en el botón Configurar junto al LLM que deseas usar (Ollama, vLLM o LM Studio).

  • URL: Especifica el punto final donde se está ejecutando tu servidor LLM. Las URLs predeterminadas son:
    • Ollama:
      http://localhost:11434/api/chat
    • vLLM:
      http://localhost:8000/v1/chat/completions
    • LM Studio:
      http://localhost:1234/v1/chat/completions
  • API Key: Si tu servidor LLM requiere autenticación, ingresa la clave API aquí. La mayoría de los servidores locales no requieren esto a menos que se configuren específicamente.
  • Modelo: Selecciona el modelo capaz de visión para usar en el análisis de imágenes. Debes haber descargado y cargado este modelo en tu servidor LLM. Las opciones populares incluyen:
    • Modelos LLaVA (visión de propósito general)
    • Qwen2-VL (alto rendimiento)
    • Llama 3.2 Vision (el más reciente de Meta)
  • Temperatura: Controla la creatividad frente a la precisión en las respuestas (0.0-1.0). Valores más bajos (0.3-0.4) producen descripciones más fácticas y consistentes. Valores más altos (0.6-0.8) generan respuestas más variadas y creativas. Recomendado: 0.4 para el análisis de cámaras de seguridad.
  • Max Tokens: Número máximo de palabras/tokens en la respuesta de la IA. Valores más altos permiten descripciones más detalladas pero tardan más en generarse. Recomendado: 300-500 para análisis de imágenes detallados, 150-250 para descripciones breves.
  • top_p: Controla la diversidad de la respuesta limitando la selección de vocabulario (0.0-1.0). Valores más bajos utilizan palabras más comunes, valores más altos permiten un vocabulario más variado. Recomendado: 0.9 para un buen equilibrio entre precisión y lenguaje natural.
  • top_k: Limita al modelo a elegir entre las K palabras siguientes más probables. Valores más bajos (20-40) producen respuestas más enfocadas, valores más altos (80-100) permiten más variedad. Recomendado: 50 para descripciones de imágenes confiables.
Nota: Debes instalar y configurar tu servidor LLM elegido por separado. Asegúrate de haber descargado un modelo capaz de visión antes de configurar Agent DVR. Para obtener los mejores resultados con cámaras de seguridad, utiliza modelos con al menos 7B parámetros y asegúrate de que tu sistema tenga suficiente VRAM (se recomienda 5GB o más).

Utilizando PlateRecognizer.com

Para configurar LPR (ANPR o Reconocimiento de Matrículas) en Agent DVR, vaya a Configuración del Servidor - Configuración de IA y ingrese los detalles en Plate Recognizer. Regístrese para una Prueba Gratuita en Plate Recognizer. No se requiere tarjeta de crédito.
  • URL: Ingrese la URL del servicio. La predeterminada es "https://api.platerecognizer.com/v1/plate-reader/", o use su propio servidor si aloja su propia instancia.
  • Token: Después de registrarse en Plate Recognizer, visite la Página de Cuenta y copie el Token de API.
  • Regiones: Deje en blanco para usar la predeterminada o ingrese una lista CSV de regiones.
  • Config: Ingrese valores de configuración adicionales de la documentación si es necesario.

Usando DoubleTake

DoubleTake es una plataforma de código abierto que proporciona una API unificada para procesar el reconocimiento facial utilizando:

  • CompreFace
  • Amazon Rekognition
  • DeepStack
  • CodeProject.AI Server
  • Facebox

Necesitarás instalar y configurar DoubleTake con tus opciones de reconocimiento facial preferidas.

Una vez que DoubleTake esté configurado, abre Agent DVR y ve a Configuración del Servidor - Servidores de IA y haz clic en el botón Configurar junto a DoubleTake.

Ingresa la URL de tu servidor doubletake (por ejemplo, http://localhost:3000/) y tu contraseña si está configurada.

Haz clic en Aceptar, luego edita una cámara y ve a Reconocimiento Facial. Establece la opción del Servidor de IA en DoubleTake y configura el reconocimiento facial según sea necesario.

Gestionando módulos de IA

Módulos de IA

En la lista de servidores de IA (referenciada arriba), tienes opciones para configurar, probar, editar y eliminar servidores de IA. Haz clic en el botón de configuración para mostrar los módulos disponibles o instalados en el servidor seleccionado.

Agent DVR obtiene la lista de módulos actual del servidor y ofrece una interfaz de usuario para instalar, desinstalar, configurar y probar cada módulo. Se brinda soporte para todos los módulos predeterminados de CodeProject.UI, aunque Agent DVR solo utiliza un subconjunto de estos.

Se recomienda instalar solo una de las opciones de módulos de reconocimiento de objetos. Revisa la descripción de cada uno para determinar cuál es el mejor para tu sistema.

Para utilizar ALPR (Reconocimiento Automático de Placas de Matrícula), Super Resolución o Reconocimiento Facial en Agent DVR, deberás instalar el módulo respectivo desde esta página. Por lo general, la configuración predeterminada es suficiente para estos módulos, pero puedes configurarlos haciendo clic en el icono de debajo de cada módulo.