GPT-4を使用したCSVファイル生成のN8Nワークフロー

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回のAPI呼び出し
    • 最大トークン数: 2500
    • 温度パラメータ: 1(ランダム性を高める)
  • プロンプト内容: GPT-4に以下のフィールドを含む10人のランダムユーザーのJSON配列を生成させる:
    • user_name: 架空のキャラクター名(名と姓の頭文字が同じ)
    • user_email: メールアドレス
    • subscribed: 購読ステータス(真偽値)
    • date_subscribed: 購読日(購読済みの場合、2023-10-01以前のランダムな日付)

3. バッチ処理段階

  • ノード: Split In Batches
  • 機能: 3つのOpenAIレスポンスを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. 高度な自動化: 1クリックで複数のランダムデータを含むCSVファイルを生成可能
  2. データ形式の標準化: 生成されるデータ構造が明確で、実際の業務シナリオに適合
  3. バッチ処理能力: 複数の異なるデータセットを同時に生成可能
  4. エンコーディング処理の充実: BOMバイトの特別な処理により、ファイル互換性を確保

応用シーン

  • テストデータの生成
  • 開発環境へのデータ投入
  • デモおよびトレーニング用途
  • CSVファイル処理フローのテスト

固定データについて

このワークフローには、事前に生成済みのテストデータ(pinData)が3セット含まれており、各セットは10件のユーザー記録を含みます。これらのデータはOpenAIノード内に固定されており、毎回APIを呼び出さずにテストやデモが可能です。

注意事項

  1. 有効なOpenAI API認証情報が必要です。
  2. .n8nディレクトリが存在し、書き込み権限があることを確認してください。
  3. BOMバイトの処理は、クロスプラットフォームでのCSVファイル読み込みにおいて極めて重要です。
  4. 生成されるデータは架空の内容であり、テスト用途のみに使用してください。