Salta el contingut

Pràctica 7: Integració amb IA i Monitoratge

Objectiu

Integrar serveis d'IA per enriquir dades automàticament.

Descripció

Crear un workflow que analitzi sentiment de comentaris de productes.

Requisits

  • Compte a OpenAI o Hugging Face (API gratuïta disponible)

Part A: Workflow d'anàlisi de sentiment

  1. Manual Trigger amb dades de prova

    [
      {"comentari": "Aquest producte és excel·lent, molt recomanat"},
      {"comentari": "No funciona bé, molt decebedor"},
      {"comentari": "Preu raonable, qualitat acceptable"}
    ]
    

  2. HTTP Request - IA API

  3. Configurar crida a API de sentiment
  4. Processar cada comentari

  5. Function - Classificar

    const items = $input.all();
    
    return items.map(item => {
      const sentiment = item.json.sentiment_score;
      let classificacio;
    
      if (sentiment > 0.6) {
        classificacio = 'Positiu';
      } else if (sentiment < 0.4) {
        classificacio = 'Negatiu';
      } else {
        classificacio = 'Neutral';
      }
    
      return {
        json: {
          comentari: item.json.comentari,
          sentiment_score: sentiment,
          classificacio: classificacio,
          analitzat_a: new Date().toISOString()
        }
      };
    });
    

  6. Split In Batches

  7. Agrupar per classificació

  8. Switch

  9. Rutes segons sentiment
  10. Diferents accions per cada cas

Part B: Casos d'ús estesos

Opcions addicionals: - Anàlisi d'imatges amb Vision APIs - Extracció d'entitats de textos - Traducció automàtica - Generació de resums

Lliurables

  • Workflow funcional
  • Exemples d'anàlisis realitzades
  • Comparativa de diferents APIs d'IA

Monitoratge i Alertes Automàtiques

Objectiu

Crear un sistema de monitoratge que verifiqui l'estat de serveis i generi alertes.

Descripció

Monitor que verifica APIs públiques i envia notificacions si hi ha problemes.

Workflow

  1. Schedule Trigger
  2. Cada 5 minuts

  3. HTTP Request - Check Services (múltiples)

  4. URL 1: https://api.github.com/status
  5. URL 2: https://httpstat.us/200
  6. URL 3: Altres serveis

  7. Function - Avaluació

    const items = $input.all();
    const fallades = [];
    
    items.forEach(item => {
      if (item.json.statusCode !== 200) {
        fallades.push({
          servei: item.json.url,
          estat: item.json.statusCode,
          error: item.json.error || 'Error desconegut',
          timestamp: new Date().toISOString()
        });
      }
    });
    
    return fallades.length > 0 
      ? [{ json: { estat: 'FALLADA', fallades } }]
      : [{ json: { estat: 'OK', verificats: items.length } }];
    

  8. IF - Hi ha fallades?

  9. True: Enviar alerta
  10. False: Log success

  11. Accions d'alerta:

  12. Email notification
  13. Slack message
  14. Desar a base de dades

Part B: Dashboard d'estat

Crear taula de logs:

CREATE TABLE verificacions_serveis (
    id SERIAL PRIMARY KEY,
    nom_servei VARCHAR(100),
    estat VARCHAR(20),
    temps_resposta_ms INTEGER,
    verificat_a TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Lliurables

  • Workflow de monitoratge
  • Historial de verificacions realitzades
  • Exemples d'alertes generades