GPT-4를 활용한 N8N 워크플로우로 CSV 파일 생성하기

Prepare CSV files with GPT-4

OpenAI GPT-4를 통해 가상의 사용자 데이터를 자동으로 생성하고 대량으로 CSV 파일로 내보내는 자동화 워크플로우

11 NodesAI & MLAI 데이터 생성CSV 내보내기자동화 테스트

워크플로우 개요

이것은 GPT-4를 사용하여 무작위 사용자 데이터를 생성하고 이를 CSV 파일로 내보내는 N8N 자동화 워크플로우입니다. 이 워크플로우는 OpenAI API를 호출하여 가상의 사용자 정보를 생성한 후, 해당 데이터를 처리하여 여러 개의 CSV 파일로 로컬 디스크에 저장합니다.

워크플로우 상세 설명

1. 트리거 단계

  • 노드: "워크플로우 실행(Execute Workflow)" 클릭 시 (수동 트리거)
  • 기능: 수동으로 클릭하여 전체 워크플로우 실행을 시작함
  • 위치: 워크플로우의 시작 노드

2. 데이터 생성 단계

  • 노드: OpenAI
  • 유형: n8n-nodes-base.openAi
  • 설정:
    • 사용 모델: GPT-4
    • 생성 횟수: 3회 호출
    • 최대 토큰 수: 2500
    • 온도(Temperature) 파라미터: 1 (무작위성 증가)
  • 프롬프트 내용: GPT-4에게 다음 필드를 포함한 10명의 무작위 사용자 JSON 배열을 생성하도록 요청:
    • user_name: 가상 캐릭터 이름(이름과 성의 첫 글자가 동일)
    • user_email: 이메일 주소
    • subscribed: 구독 상태(불리언 값)
    • date_subscribed: 구독 날짜(구독된 경우 2023-10-01 이전의 무작위 날짜)

3. 배치 처리 단계

  • 노드: Split In Batches
  • 기능: OpenAI 응답 3개를 배치 단위로 분할하여 각각 1개씩 처리
  • 배치 크기: 1
  • 목적: 생성된 각 사용자 목록이 개별적으로 처리되어 별도의 CSV 파일로 저장되도록 보장

4. 데이터 파싱 단계

  • 노드: Parse JSON
  • 유형: Set 노드
  • 기능: OpenAI에서 반환된 JSON 문자열을 실제 JSON 객체로 파싱
  • 작업: message.content 필드를 추출하여 배열로 파싱

5. 데이터 확장 단계

  • 노드: Make JSON Table
  • 유형: Item Lists 노드
  • 기능: JSON 배열 내 각 사용자 객체를 개별 데이터 항목으로 확장
  • 필드: "content" 필드 확장

6. CSV 변환 단계

  • 노드: Convert to CSV
  • 유형: Spreadsheet File 노드
  • 설정:
    • 출력 형식: CSV
    • 파일명: funny_names_[번호].csv (번호는 1부터 시작)
    • 헤더 행 포함 여부: 예

7. 데이터 정리 단계

7.1 BOM 바이트 제거

  • 노드: Strip UTF BOM bytes
  • 유형: Move Binary Data 노드
  • 기능: UTF-8 BOM(Byte Order Mark) 바이트 제거
  • 중요성: CSV 파일 읽기 시 인코딩 문제 방지

7.2 유효한 바이너리 생성

  • 노드: Create valid binary
  • 유형: Move Binary Data 노드
  • 설정:
    • 모드: JSON → 바이너리 변환
    • 인코딩: UTF-8
    • MIME 유형: text/csv
    • BOM 미포함
  • 기능: 처리된 데이터를 올바른 형식의 바이너리 파일로 변환

8. 파일 저장 단계

  • 노드: Save to Disk
  • 유형: Write Binary File 노드
  • 경로: ./.n8n/funny_names_[번호].csv
  • 기능: 생성된 CSV 파일을 N8N 작업 디렉터리에 저장
  • 루프: 저장 후 Split In Batches 노드로 돌아가 다음 배치 데이터 계속 처리

워크플로우 특징

장점

  1. 높은 자동화 수준: 한 번의 클릭으로 무작위 데이터를 포함한 여러 CSV 파일 생성 가능
  2. 표준화된 데이터 형식: 생성된 데이터 구조가 명확하며 실제 비즈니스 시나리오에 부합
  3. 배치 처리 기능: 여러 개의 서로 다른 데이터셋을 동시에 생성 가능
  4. 완벽한 인코딩 처리: BOM 바이트를 특별히 처리하여 파일 호환성 보장

활용 사례

  • 테스트 데이터 생성
  • 개발 환경 데이터 채우기
  • 데모 및 교육 목적
  • CSV 파일 처리 프로세스 테스트

고정 데이터 설명

이 워크플로우에는 미리 생성된 테스트 데이터(pinData) 3세트가 포함되어 있으며, 각 세트는 10개의 사용자 레코드로 구성됩니다. 이러한 데이터는 OpenAI 노드 내에 고정되어 있어 매번 API를 호출하지 않고도 테스트 및 데모가 가능합니다.

주의사항

  1. 유효한 OpenAI API 자격 증명이 필요함
  2. .n8n 디렉터리가 존재하며 쓰기 권한이 있어야 함
  3. 크로스 플랫폼에서 CSV 파일을 읽을 때 BOM 바이트 처리가 매우 중요함
  4. 생성된 데이터는 가상의 내용이며 테스트 용도로만 사용해야 함