Flujo de trabajo N8N para generar archivos CSV utilizando GPT-4

Prepare CSV files with GPT-4

Flujo de trabajo automatizado que genera datos ficticios de usuarios mediante OpenAI GPT-4 y los exporta masivamente a archivos CSV

11 NodesAI & MLgeneración de datos con IAexportación a CSVpruebas automatizadas

Resumen del flujo de trabajo

Este es un flujo de trabajo automatizado en n8n que utiliza GPT-4 para generar datos aleatorios de usuarios y exportarlos como archivos CSV. El flujo llama a la API de OpenAI para crear información ficticia de usuarios, procesa dichos datos y los guarda como múltiples archivos CSV en el disco local.

Desglose del flujo de trabajo

1. Fase de activación

  • Nodo: When clicking "Execute Workflow" (disparador manual)
  • Función: Inicia la ejecución completa del flujo al hacer clic manualmente.
  • Ubicación: Nodo inicial del flujo de trabajo.

2. Fase de generación de datos

  • Nodo: OpenAI
  • Tipo: n8n-nodes-base.openAi
  • Configuración:
    • Modelo utilizado: GPT-4
    • Número de llamadas: 3
    • Máximo de tokens: 2500
    • Temperatura: 1 (para mayor aleatoriedad)
  • Prompt: Solicita a GPT-4 generar un array JSON con 10 usuarios aleatorios que contengan los siguientes campos:
    • user_name: Nombre ficticio (nombre y apellido cuyas iniciales coincidan)
    • user_email: Dirección de correo electrónico
    • subscribed: Estado de suscripción (valor booleano)
    • date_subscribed: Fecha de suscripción (si está suscrito, una fecha aleatoria anterior al 2023-10-01)

3. Fase de procesamiento por lotes

  • Nodo: Split In Batches
  • Función: Divide las 3 respuestas de OpenAI en lotes, procesando una por vez.
  • Tamaño del lote: 1
  • Propósito: Asegura que cada lista generada de usuarios se procese y guarde como un archivo CSV independiente.

4. Fase de análisis de datos

  • Nodo: Parse JSON
  • Tipo: Nodo Set
  • Función: Convierte la cadena JSON devuelta por OpenAI en un objeto JSON real.
  • Operación: Extrae el campo message.content y lo analiza como un array.

5. Fase de expansión de datos

  • Nodo: Make JSON Table
  • Tipo: Nodo Item Lists
  • Función: Expande cada objeto de usuario dentro del array JSON en elementos de datos individuales.
  • Campo: Expande el campo "content".

6. Fase de conversión a CSV

  • Nodo: Convert to CSV
  • Tipo: Nodo Spreadsheet File
  • Configuración:
    • Formato de salida: CSV
    • Nombre del archivo: funny_names_[número].csv (el número comienza desde 1)
    • Incluir encabezado: Sí

7. Fase de limpieza de datos

7.1 Eliminación de bytes BOM

  • Nodo: Strip UTF BOM bytes
  • Tipo: Nodo Move Binary Data
  • Función: Elimina los bytes BOM (Byte Order Mark) de UTF-8.
  • Importancia: Evita problemas de codificación al leer los archivos CSV.

7.2 Creación de binario válido

  • Nodo: Create valid binary
  • Tipo: Nodo Move Binary Data
  • Configuración:
    • Modo: Conversión de JSON a binario
    • Codificación: UTF-8
    • Tipo MIME: text/csv
    • Sin añadir BOM
  • Función: Convierte los datos procesados en un archivo binario con formato correcto.

8. Fase de guardado de archivos

  • Nodo: Save to Disk
  • Tipo: Nodo Write Binary File
  • Ruta: ./.n8n/funny_names_[número].csv
  • Función: Guarda los archivos CSV generados en el directorio de trabajo de n8n.
  • Bucle: Tras guardar, regresa al nodo Split In Batches para procesar el siguiente lote.

Características del flujo de trabajo

Ventajas

  1. Alto grado de automatización: Genera varios archivos CSV con datos aleatorios con un solo clic.
  2. Formato de datos estandarizado: La estructura de los datos generados es clara y representa escenarios reales.
  3. Capacidad de procesamiento por lotes: Permite generar simultáneamente múltiples conjuntos de datos distintos.
  4. Manejo adecuado de codificación: Trata explícitamente el problema del BOM, garantizando compatibilidad del archivo.

Casos de uso

  • Generación de datos de prueba
  • Rellenado de datos en entornos de desarrollo
  • Demostraciones y capacitación
  • Pruebas de flujos de procesamiento de archivos CSV

Datos fijos

El flujo incluye 3 conjuntos de datos de prueba pregenerados (pinData), cada uno con 10 registros de usuarios. Estos datos ya están fijados en el nodo OpenAI para facilitar pruebas y demostraciones sin necesidad de llamar a la API cada vez.

Consideraciones importantes

  1. Se requiere configurar credenciales válidas de la API de OpenAI.
  2. Asegúrese de que el directorio .n8n exista y tenga permisos de escritura.
  3. El tratamiento del byte BOM es crucial para la lectura correcta de archivos CSV entre plataformas.
  4. Los datos generados son ficticios y deben usarse únicamente con fines de prueba.