Normalisierung von Produktdaten für KI
Bei der Arbeit mit KI-Agenten müssen rohe JSON-Antworten von APIs häufig bereinigt und umstrukturiert werden, bevor sie effektiv genutzt werden können. Ziel dieses Schrittes ist es, die unbearbeiteten Daten aus dem Rainforest HTTP-Knoten zu entnehmen, sie in ein einzelnes, LLM-freundliches Datenpaket zu vereinfachen und ohne das gefürchtete "[object Object]"-Problem an den KI-Agenten weiterzugeben.
Überprüfen, was der HTTP-Knoten tatsächlich zurückgegeben hat
Die Rainforest HTTP-Anfrage liefert bereits alle notwendigen Informationen, um eine aussagekräftige Produktzusammenfassung zu erstellen:
- asin;
- title;
- brand;
- categories;
- rating und total_reviews;
- images;
- bullet points;
- rank / BSR;
- offers und buy box;
- keyword list.
Das sind mehr als genug Daten für eine KI-Analyse, daher ist keine weitere Anfrage erforderlich. Stattdessen wird mit den bereits verfügbaren Daten gearbeitet.
Wenn das Produktobjekt in das context-Feld des KI-Agenten gezogen wird, zeigt n8n [object Object] an. Dies geschieht, weil das Kontextfeld reinen Text und kein verschachteltes Objekt erwartet. Auch wenn LLMs JSON lesen können, akzeptiert das Feld selbst nur einen String, daher müssen die Daten zunächst geflacht und stringifiziert werden.
Normalisierung der Daten mit einem Code-Knoten
Direkt nach der HTTP-Anfrage einen Code-Knoten hinzufügen. Die Transformationslogik kann mit ChatGPT generiert werden, indem einfach die Rainforest-Ausgabe geteilt und folgende Anfrage gestellt wird:
Fügen Sie diesen Code in den Node ein, stellen Sie ihn so ein, dass er einmal für alle Elemente ausgeführt wird, und führen Sie ihn aus. Sie sollten nun ein bereinigtes Objekt sehen, in dem alle Produktdaten gruppiert und bereitgestellt sind.
Wenn der KI-Agent weiterhin [object Object] anzeigt, bedeutet dies, dass die Struktur korrekt, aber noch nicht als String vorliegt. In diesem Fall aktualisieren Sie Ihren Code-Node so, dass er Folgendes ausgibt:
return [{ json: { data: JSON.stringify(items[0].json) } }];
Oder verwenden Sie einen Aggregate-Node, um alles vor dem Stringifizieren in eine Liste zusammenzuführen.
Hier wird nicht tatsächlich programmiert, sondern lediglich von einem LLM generierter Code getestet. Falls etwas fehlschlägt, kopieren Sie die genaue Fehlermeldung zurück in ChatGPT und lassen Sie sie dort beheben.
Verbindung zum KI-Agenten
Sobald die Ausgabe korrekt aussieht, fügen Sie Ihren KI-Agenten-Node (Gemini, OpenAI usw.) hinzu und fügen Sie Ihren System-Prompt in das Feld Instruction ein. Zum Beispiel:
Führen Sie den Workflow aus. Das Modell sollte nun eine saubere, strukturierte Zusammenfassung generieren, die Folgendes enthält:
- Eine kurze Produktübersicht;
- Positive Aspekte (Bewertungen, A+-Inhalte, Auszeichnungen);
- Negative Aspekte (wenige Bilder, fehlende Schlüsselwörter);
- Verbesserungen und Keyword-Ideen.
Wenn das Modell vor der Antwort Rückfragen stellen soll, fügen Sie einfach diese Zeile zu Ihrem Prompt hinzu:
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain how to set up the Code node to normalize the data?
What should I do if the AI Agent still shows [object Object] after normalization?
How do I write an effective system prompt for the AI Agent?
Awesome!
Completion rate improved to 4.17
Normalisierung von Produktdaten für KI
Swipe um das Menü anzuzeigen
Bei der Arbeit mit KI-Agenten müssen rohe JSON-Antworten von APIs häufig bereinigt und umstrukturiert werden, bevor sie effektiv genutzt werden können. Ziel dieses Schrittes ist es, die unbearbeiteten Daten aus dem Rainforest HTTP-Knoten zu entnehmen, sie in ein einzelnes, LLM-freundliches Datenpaket zu vereinfachen und ohne das gefürchtete "[object Object]"-Problem an den KI-Agenten weiterzugeben.
Überprüfen, was der HTTP-Knoten tatsächlich zurückgegeben hat
Die Rainforest HTTP-Anfrage liefert bereits alle notwendigen Informationen, um eine aussagekräftige Produktzusammenfassung zu erstellen:
- asin;
- title;
- brand;
- categories;
- rating und total_reviews;
- images;
- bullet points;
- rank / BSR;
- offers und buy box;
- keyword list.
Das sind mehr als genug Daten für eine KI-Analyse, daher ist keine weitere Anfrage erforderlich. Stattdessen wird mit den bereits verfügbaren Daten gearbeitet.
Wenn das Produktobjekt in das context-Feld des KI-Agenten gezogen wird, zeigt n8n [object Object] an. Dies geschieht, weil das Kontextfeld reinen Text und kein verschachteltes Objekt erwartet. Auch wenn LLMs JSON lesen können, akzeptiert das Feld selbst nur einen String, daher müssen die Daten zunächst geflacht und stringifiziert werden.
Normalisierung der Daten mit einem Code-Knoten
Direkt nach der HTTP-Anfrage einen Code-Knoten hinzufügen. Die Transformationslogik kann mit ChatGPT generiert werden, indem einfach die Rainforest-Ausgabe geteilt und folgende Anfrage gestellt wird:
Fügen Sie diesen Code in den Node ein, stellen Sie ihn so ein, dass er einmal für alle Elemente ausgeführt wird, und führen Sie ihn aus. Sie sollten nun ein bereinigtes Objekt sehen, in dem alle Produktdaten gruppiert und bereitgestellt sind.
Wenn der KI-Agent weiterhin [object Object] anzeigt, bedeutet dies, dass die Struktur korrekt, aber noch nicht als String vorliegt. In diesem Fall aktualisieren Sie Ihren Code-Node so, dass er Folgendes ausgibt:
return [{ json: { data: JSON.stringify(items[0].json) } }];
Oder verwenden Sie einen Aggregate-Node, um alles vor dem Stringifizieren in eine Liste zusammenzuführen.
Hier wird nicht tatsächlich programmiert, sondern lediglich von einem LLM generierter Code getestet. Falls etwas fehlschlägt, kopieren Sie die genaue Fehlermeldung zurück in ChatGPT und lassen Sie sie dort beheben.
Verbindung zum KI-Agenten
Sobald die Ausgabe korrekt aussieht, fügen Sie Ihren KI-Agenten-Node (Gemini, OpenAI usw.) hinzu und fügen Sie Ihren System-Prompt in das Feld Instruction ein. Zum Beispiel:
Führen Sie den Workflow aus. Das Modell sollte nun eine saubere, strukturierte Zusammenfassung generieren, die Folgendes enthält:
- Eine kurze Produktübersicht;
- Positive Aspekte (Bewertungen, A+-Inhalte, Auszeichnungen);
- Negative Aspekte (wenige Bilder, fehlende Schlüsselwörter);
- Verbesserungen und Keyword-Ideen.
Wenn das Modell vor der Antwort Rückfragen stellen soll, fügen Sie einfach diese Zeile zu Ihrem Prompt hinzu:
Danke für Ihr Feedback!