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
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ónicosubscribed: 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
- Alto grado de automatización: Genera varios archivos CSV con datos aleatorios con un solo clic.
- Formato de datos estandarizado: La estructura de los datos generados es clara y representa escenarios reales.
- Capacidad de procesamiento por lotes: Permite generar simultáneamente múltiples conjuntos de datos distintos.
- 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
- Se requiere configurar credenciales válidas de la API de OpenAI.
- Asegúrese de que el directorio
.n8nexista y tenga permisos de escritura. - El tratamiento del byte BOM es crucial para la lectura correcta de archivos CSV entre plataformas.
- Los datos generados son ficticios y deben usarse únicamente con fines de prueba.