Workflow zur Vorbereitung von CSV-Dateien mit GPT-4
Dieser Workflow nutzt die GPT-4 API von OpenAI, um eine Liste zufälliger Benutzer zu generieren. Die erzeugten Benutzerdaten werden anschließend in CSV-Dateien gespeichert. Hier ist eine detaillierte Beschreibung der einzelnen Schritte:
- Node: When clicking „Execute Workflow“
Typ: Manual Trigger
Was macht dieser Node: Dies ist der Startpunkt des Workflows. Er wird aktiviert, wenn der Benutzer auf „Workflow ausführen“ klickt.
Parameter: Keine spezifischen Parameter - Node: OpenAI
Typ: OpenAi
Was macht dieser Node: Dieser Node kommuniziert mit der OpenAI API, um die Benutzerdaten zu generieren. Der Prompt beschreibt, welche Daten erzeugt werden sollen. Hier werden 10 zufällige Benutzer mit ihren Namen, E-Mails und Anmeldedaten angefordert.
Parameter:- model: „gpt-4“ – Dies legt das Modell fest, das verwendet wird.
- prompt: Die spezifische Anweisung zur Erstellung der Benutzerdaten.
- options:
- n: 3 – Anzahl der zurückgegebenen Ergebnisse.
- maxTokens: 2500 – Maximale Anzahl von Tokens in der Antwort.
- temperature: 1 – Gibt an, wie kreativ die Ergebnisse sein sollen.
- Node: Split In Batches
Typ: Split In Batches
Was macht dieser Node: Dieser Node teilt die generierten Benutzerdaten in Gruppen auf, um sie einzeln weiterverarbeiten zu können.
Parameter:- batchSize: 1 – Jede Gruppe enthält nur einen Benutzer.
- Node: Sticky Note
Typ: Sticky Note
Was macht dieser Node: Dies ist ein Hilfe-Node, der Hinweise zu dem Workflow gibt. Hier wird erwähnt, dass es sich um einen Helfer-Workflow handelt, um 3 CSV-Dateien zu erstellen.
Parameter:- content: Hinweistext.
- Node: Parse JSON
Typ: Set
Was macht dieser Node: Dieser Node analysiert die Antwort von OpenAI und extrahiert die Benutzerdaten aus dem JSON-Format.
Parameter:- arrayValue: „={{JSON.parse($json.message.content)}}“ – Dies konvertiert den JSON-Text in ein Array, das weiterverarbeitet werden kann.
- Node: Make JSON Table
Typ: Item Lists
Was macht dieser Node: Dieser Node erstellt eine tabellarische Struktur aus den extrahierten Daten.
Parameter:- fieldToSplitOut: „content“ – Das Feld, das in eine Tabelle umgewandelt werden soll.
- Node: Convert to CSV
Typ: Spreadsheet File
Was macht dieser Node: Dieser Node wandelt die tabellarischen Daten in das CSV-Format um und bereitet sie zur Speicherung vor.
Parameter:- fileName: „=funny_names_{{ $(‚Split In Batches‘).item.json.index+1 }}.{{ $parameter[„fileFormat“] }}“ – Der Name der Datei, bei dem die Indexnummer aus dem Batch-Split verwendet wird.
- headerRow: true – Fügt eine Kopfzeile in die CSV-Datei ein.
- operation: toFile – Definiert die Operation, die durchgeführt wird.
- fileFormat: csv – Das Ausgabeformat.
- Node: Save to Disk
Typ: Write Binary File
Was macht dieser Node: Dieser Node speichert die CSV-Datei auf der Festplatte.
Parameter:- fileName: „=./.n8n/{{ $binary.data.fileName }}“ – Der Pfad, unter dem die Datei gespeichert wird.
- Node: Strip UTF BOM bytes
Typ: Move Binary Data
Was macht dieser Node: Dieser Node entfernt die BOM-Bytes am Anfang der Datei, um sicherzustellen, dass sie korrekt gelesen werden kann.
Parameter:- stripBOM: true – Aktiviert das Entfernen der BOM-Bytes.
- Node: Create valid binary
Typ: Move Binary Data
Was macht dieser Node: Dieser Node konvertiert die CSV-Daten in ein binäres Format, das zum Speichern geeignet ist.
Parameter:- mode: jsonToBinary – Der Modus zur Konvertierung.
- fileName: „=funny_names_{{ $(‚Split In Batches‘).item.json.index+1 }}.{{ $(‚Convert to CSV‘).first().binary.data.fileExtension }}“ – Der Name der Binärdatei.
- mimeType: text/csv – Der MIME-Typ der Datei.
- Node: Sticky Note1
Typ: Sticky Note
Was macht dieser Node: Noch ein Hinweis, dass die vorhergehenden Nodes Probleme mit BOM-Bytes beheben.
Parameter:- content: „Diese 2 Nodes beheben ein Problem mit BOM-Bytes am Anfang der Datei.“
Ergebnis
Nach der Ausführung des Workflows sollten insgesamt 3 CSV-Dateien mit zufälligen Benutzerdaten erstellt und auf der Festplatte gespeichert sein.