AIAnalytics - Parte 5: Configuracion avanzada, Cron automatico y personalizacion de la IA

Configuracion avanzada, Cron y personalizacion

Panel de configuracion

Accede a la configuracion pulsando el icono de engranaje en la cabecera del dashboard. Se abre un modal con tres pestanas.

Pestana General

Parametros basicos del analisis:

Umbral de morosidad (%)

  • Por defecto: 15%
  • Que hace: Cuando el porcentaje de facturacion vencida supera este umbral, se genera una alerta de morosidad.
  • Ejemplo: Si tienes 100.000 EUR facturados y 18.000 EUR vencidos (18%), y el umbral es 15%, se generara una alerta.

Dias de inactividad del cliente

  • Por defecto: 90 dias
  • Que hace: Un cliente que no ha comprado en mas dias que este valor se considera "inactivo" en el modulo de Clientes.
  • Recomendacion: Ajusta segun tu ciclo de venta. Si vendes productos de compra recurrente mensual, baja a 45-60 dias. Si es venta puntual, sube a 180.

Email de alertas criticas

  • Por defecto: Vacio (desactivado)
  • Que hace: Si se configura, las alertas de severidad critica pueden notificarse por email.
  • Formato: Direccion de email valida o dejar vacio para desactivar.

Retencion de informes (dias)

  • Por defecto: 180 dias
  • Que hace: Los informes con estado "resuelto" mas antiguos que este numero de dias se eliminan automaticamente por el Cron.
  • Minimo recomendado: 30 dias
  • Nota: Solo se eliminan informes ya resueltos. Los pendientes se conservan siempre.

Pestana IA Local (Ollama)

Activar IA

  • Desactivado (solo reglas): El plugin funciona con analisis estadistico puro
  • Activado (Ollama): Se conecta a Ollama para enriquecimiento con IA

URL de Ollama

  • Por defecto: http://127.0.0.1:11434
  • Que hace: Direccion del servidor Ollama. Si ejecutas Ollama en otro servidor de tu red local, cambia la IP.
  • Ejemplo red local: http://192.168.1.100:11434

Modelo

Selecciona el modelo de IA a utilizar. Opciones disponibles:

  • Qwen 2.5 3B: Rapido, buen espanol (recomendado para empezar)
  • Qwen 2.5 7B: Mejor calidad de analisis
  • Llama 3.2 3B: Equilibrado
  • Llama 3.1 8B: Preciso
  • Mistral 7B: Buena alternativa
  • Gemma 2 9B: Alto rendimiento
  • Phi-3 3.8B: Compacto

Botones de instalacion rapida (Linux)

  • Instalar Ollama: Ejecuta el script de instalacion oficial de Ollama en el servidor
  • Descargar Modelo: Descarga el modelo seleccionado (puede tardar varios minutos)
  • Probar Conexion: Verifica que Ollama esta corriendo y muestra los modelos disponibles

Pestana Personalidad IA

Prompt de sistema personalizado

  • Por defecto: Vacio (usa la personalidad predeterminada)
  • Que hace: Reemplaza completamente la personalidad del consultor IA

La personalidad predeterminada es un "Director de Inteligencia Empresarial" con 7 roles expertos (CEO, CFO, Director Comercial, COO, RRHH, Controller, Auditor).

Cuando personalizar

Personaliza el prompt si quieres que la IA:

  • Se especialice en tu sector (ej: "Eres un asesor financiero del sector retail")
  • Use terminologia especifica de tu industria
  • Se enfoque en ciertos aspectos del negocio
  • Tenga un tono diferente (mas formal, mas directo, etc.)

Ejemplo de prompt personalizado

Eres un asesor financiero especializado en el sector alimentario.
Tu prioridad es el control de margenes y la rotacion de stock perecedero.
Siempre menciona si un producto tiene riesgo de caducidad basandote en
la falta de movimiento. Responde en espanol, se directo y usa cifras.

Analisis automatico con Cron

Que es el Cron de AIAnalytics

El plugin incluye un trabajo programado que se ejecuta automaticamente cada 24 horas. Realiza:

  1. Analisis completo de los 7 modulos (igual que pulsar "Analisis Completo")
  2. Limpieza de informes antiguos resueltos segun la retencion configurada

Activar el Cron

El Cron viene activado por defecto (cron_activo = 1). Para desactivarlo, cambia el parametro en la tabla ai_config o desde la configuracion.

Hora de ejecucion

  • Por defecto: 04:00 (madrugada, cuando hay menos actividad)
  • Parametro: cron_hora
  • El Cron de FacturaScripts debe estar configurado para que se ejecute periodicamente

Requisito: Cron de FacturaScripts

Para que el analisis automatico funcione, el cron del sistema operativo debe ejecutar el cron de FacturaScripts. Ejemplo para Linux:

*/10 * * * * php /var/www/facturascripts/vendor/bin/cron.php

Esto ejecuta el cron cada 10 minutos. AIAnalytics solo realizara el analisis una vez cada 24 horas gracias a isTimeForJob('ai-analysis', '24 hours').

Limpieza automatica

El Cron tambien ejecuta cleanOld() que:

  • Busca informes con estado resuelto
  • Cuya fecha de creacion sea anterior a los dias de retencion configurados
  • Los elimina automaticamente

Esto mantiene la base de datos limpia sin intervencion manual.

Tabla de parametros de configuracion

Clave Valor por defecto Descripcion
ollama_url http://127.0.0.1:11434 URL del servidor Ollama local
ollama_model qwen2.5:3b Modelo IA a utilizar
usar_ia 0 1=Usar Ollama, 0=Solo reglas
cron_activo 1 Analisis automatico diario
cron_hora 04:00 Hora del analisis automatico
dias_retencion 180 Dias que se guardan los informes resueltos
email_alertas (vacio) Email para alertas criticas
umbral_morosidad_pct 15 Porcentaje de morosidad para alerta
umbral_inactividad_dias 90 Dias sin comprar = cliente inactivo
system_prompt (vacio) Prompt personalizado (vacio = predeterminado)

Arquitectura tecnica

Estructura de archivos del plugin

AIAnalytics/
  Init.php                    — Inicializacion, seed de configuracion
  Cron.php                    — Analisis diario automatico
  facturascripts.ini          — Metadatos del plugin
  Controller/
    AIAnalytics.php           — Dashboard + 13 acciones AJAX
    ListAIReport.php          — Listado de informes con filtros
  Lib/
    AnalysisEngine.php        — Motor: orquesta 7 modulos + chat + ask
    OllamaClient.php          — Cliente HTTP para Ollama API
    Config.php                — Sistema de configuracion con cache
    ExpertPrompts.php         — Prompts expertos por departamento
    DataCollector.php         — Consultas SQL (MySQL + PostgreSQL)
    Analyzers/
      Base.php                — Clase abstracta + enriquecimiento IA
      Facturacion.php         — Analisis de facturacion
      Finanzas.php            — Analisis financiero
      Clientes.php            — Analisis de cartera
      Stock.php               — Analisis de inventario
      Procesos.php            — Analisis de embudo comercial
      Anomalias.php           — Deteccion de irregularidades
      Horarios.php            — Patrones RRHH y plazos
  Model/
    AIConfig.php              — Tabla ai_config (clave-valor)
    AIReport.php              — Tabla ai_reports (informes)
    AIChat.php                — Tabla ai_chat (historial chat)
    AIMetric.php              — Tabla ai_metrics (metricas)
  View/
    AIAnalytics.html.twig     — Vista completa (dashboard + chat + config)
  XMLView/
    ListAIReport.xml          — Definicion de la vista listado
  Table/
    ai_config.xml             — Definicion tabla configuracion
    ai_reports.xml            — Definicion tabla informes
    ai_chat.xml               — Definicion tabla chat
    ai_metrics.xml            — Definicion tabla metricas
  Translation/
    es_ES.json                — Traducciones al espanol

Tablas de base de datos

Tabla Uso
ai_config Configuracion clave-valor del plugin
ai_reports Informes de analisis con severidad y estado
ai_chat Historial de conversaciones del chat
ai_metrics Metricas historicas

Flujo de comunicacion con Ollama

  1. OllamaClient conecta via HTTP a http://127.0.0.1:11434/api/chat
  2. Timeout de conexion: 5 segundos
  3. Timeout de generacion: 180 segundos (3 minutos)
  4. La respuesta se parsea como JSON
  5. Si falla la conexion, se usa el fallback de reglas automaticamente

Seguridad y privacidad

  • Datos 100% locales: Toda la informacion se procesa en tu servidor
  • Ollama local: El modelo de IA se ejecuta en tu propia maquina
  • Sin APIs externas: No se envia nada a servicios cloud
  • Sin telemetria: El plugin no comunica con ningun servidor externo
  • Acceso protegido: Solo usuarios autenticados de FacturaScripts acceden al plugin
  • AJAX con token: Todas las peticiones AJAX incluyen el token multireqtoken de FacturaScripts

Resolucion de problemas

Ollama no se detecta

  1. Verifica que el servicio esta corriendo: systemctl status ollama
  2. Prueba manualmente: curl http://127.0.0.1:11434/api/tags
  3. Revisa que la URL en configuracion sea correcta
  4. Si usas Docker, verifica que el puerto 11434 esta expuesto

El analisis tarda mucho

  • Con Ollama, un analisis completo puede tardar 1-3 minutos dependiendo del modelo y hardware
  • Sin Ollama, el analisis es casi instantaneo (solo SQL)
  • Modelos mas pequenos (3B) son mas rapidos que los grandes (7B, 9B)

No se generan alertas

  • Ejecuta primero un "Analisis Completo" desde el dashboard
  • Verifica que tienes datos en FacturaScripts (facturas, clientes, productos)
  • Revisa los umbrales de configuracion (puede que sean demasiado permisivos)

El chat no responde

  • Si Ollama esta offline, el chat muestra datos en formato texto sin analisis IA
  • Verifica el estado con el badge de la cabecera
  • Prueba la conexion desde Configuracion > IA Local > Probar Conexion
Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2026 FacturaScripts
0.05619s

Soporte