Neu CustomGPT - Workflows bzw. DotLiquid erstellen mit ChatGPT

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.321
1.252
Trotz Technik-Nerd bin ich ja überhaupt kein Freund von diesem ganzem (meist) wertlosem/schlechtem AI Zeug.

Aber....das ist schon genial.
Wir hatten mal einen Workflow erstellen lassen für FBA mit vielen diversen Dingen. Das hatte uns gut und viel Geld gekostet und hat dann trotzdem nicht so wirklich umfangreich funktioniert wie gewünscht (und schon seit langer Zeit gar nicht mehr).

30 mins. herumgespielt, Abfragen erweitert, weitere hinzugefügt, Statistiken berücksichtigt usw. und das Ergebnis ist nur .... wow.
Nicht final alles getestet aber schon allein diese genauen Einstellmöglichkeiten, SQL Abfragen, Workflow "Anweisungen" etc.... wow wow wow.

Vielen Dank @Dennis030
 
  • Gefällt mir
Reaktionen: Dennis030

John

Sehr aktives Mitglied
3. März 2012
3.775
892
Berlin
Puh, bisher waren die AI Ergebnisse bzgl. JTL SQL eher durchwachsen.
Da war übers letzte Jahr viel dabei, das Ergebnisse lieferte, die im Detail aber falsch waren.
 

upbox

Offizieller Servicepartner
SPBanner
17. Januar 2011
243
24
JTLs DotLiquid ist ja etwas eigen. Deshalb habe ich mir ein CustomGPT erstellt, das es schafft gut brauchbare Ergebnisse zu liefern - insbesondere seit GPT5.
Vielleicht kann es ja noch jemand gebrauchen:
https://chatgpt.com/g/g-67f8de6682b0819193dcd4e6e95d12dd-jtl-wawi-workflow-helper-dotliquid

ja nice. Hab es noch nicht gestest, aber mit den richtigen Daten zum Training geht es bestimmt ganz gut.
Nur bitte bitte keine Beispieldaten mit Kundennamen oder so rein schreiben, sehe das leider immer wieder.

Man muss das mit den Agenten aber weiter denken, spiele sehr viel damit rum. Mal ein paar Beispiel wo man das schon sinnvoll umgestetzt habe.

- Kundenbestellungen von Stammkunden oder regelmäßigen Bestellern werden nach Art kategorisiert (Unternehmensgröße, Öffentliche, Vereine, Privat, etc) und nach Branche sortiert. Dann wird einmalig an den Kunden nach ein paar Tagen an den Kunden eine Mail geschickt mit der Frage zur Bestellung ( Artikelhilfe, etc), sich als persönlicher Assistent vorgestellt, Gutscheine für Zubehör verteilt und noch Tipps zum gekauften Produkt gegeben. Kommt gut an.

- Produktbeschreibung auf Knopfdruck - Artikel Beschreibungen, SEO-Texte, Amazon-Content aus Artikelnummern generieren – direkter Import in die Wawi. Vorteil hier, man kann jede Anfrage richtig anlernen und kloppt nicht stumpf alles rein.

- Chat mit Produktdaten - Interaktiver Zugriff auf Artikeldatenbank via Chat, ideal Produktvergleiche & Textgenerierung möglich. Haben das sogar schon für Newslettererstellung genutzt. Produktvergleiche in einfach.

- Rechnungsprüfung per OCR & Abgleich – Scans von Lieferscheinen & Rechnungen werden automatisch analysiert – Abweichungen bei Preis oder Menge meistens erkannt und gemeldet, braucht aber noch ein bisschen feinjustierung.

Alles DSVO Konform übrigens.
 
  • Gefällt mir
Reaktionen: Dennis030

Dennis030

Aktives Mitglied
9. Februar 2022
38
9
@upbox Klingt, als setzt ihr das zusammen wovon ich immer träume, aber keine Zeit zu finde. Lokale n8n- und LLM-Instanzen?

@John Ja, natürlich ist auch hier - wie immer - Vorsicht geboten. Wer sich wirklich gar nicht auskennt und die Ergebnisse nicht prüfen kann, sollte noch die Finger davon lassen. Es ist unwahrscheinlich, aber nicht ausgeschlossen, dass was kaputt gemacht wird.
 

ple

Sehr aktives Mitglied
20. August 2019
702
145
Was heißt ein wenig Script drum herum? Ich spiele auch ein wenig mit Lokaler KI rum, soll mal per sql alle Artikel holen ohne Beschreibung oder fehlender seo oder übersetzung Und die Daten wieder zurückspielen.
daher würde mich das Script drum herum interessieren.
Gruss
 

John

Sehr aktives Mitglied
3. März 2012
3.775
892
Berlin
@John Ja, natürlich ist auch hier - wie immer - Vorsicht geboten. Wer sich wirklich gar nicht auskennt und die Ergebnisse nicht prüfen kann, sollte noch die Finger davon lassen. Es ist unwahrscheinlich, aber nicht ausgeschlossen, dass was kaputt gemacht wird.

Was ist dann der Wert davon?

Anfängern wird die Notwendigkeit, sich tatsächlich einzuarbeiten genommen.
Profis müssen sich für Aufwand/Kosten rechtfertigen, weil Kunden denken, ChatGPT könne das.

In Bereichen, in denen 90% Korrektheit akzeptabel und die Datenlage gut ist, mag AI tolle Ergebnisse liefern.
Bei JTL SQL ist aber beides nicht der Fall.
 

upbox

Offizieller Servicepartner
SPBanner
17. Januar 2011
243
24
Was heißt ein wenig Script drum herum? Ich spiele auch ein wenig mit Lokaler KI rum, soll mal per sql alle Artikel holen ohne Beschreibung oder fehlender seo oder übersetzung Und die Daten wieder zurückspielen.
daher würde mich das Script drum herum interessieren.
Gruss

Du gibst dem Bot unterschiedliche Werkzeuge. In deinem Fall muss man aber die SQL Abfragen aber vorher definieren. Wenn du dann vereinfacht fragst, "gebe mir den Bestand für Artikel xy", dann weiß er welches SQL er nutzen kann um das Ergebnis zu bekommen oder zieht sich die Daten aus der Vektor Datenbank wenn es keine Bewegungsdaten sind.
Das ist aber alles custom made, kein Script was ich dir einfach so geben kann.

Beim zurückspielen der Daten würde ich aber aufpassen, mindestens eine Kontrollinstanz sollte vorhanden sein. Entweder per Click in dem du die Daten später freigibst die gesammelt in der Tabelle stehen oder im Minmalfall ein anderes LLM drüber schauen lassen. Einzige Ausnahme ist hier alles was mit der Beschreibung zu tun hat. Da geht die Halluzination aktuell gegen 0 bei den Beispielen die ich hier betreue. Habe aber für mich selber auch eine tägliche Zusammenfassung der wichtigen Mails von gestern. Falls es da nichts gibt bekomme ich eine Mail mit Phantasie Mitarbeitern und Phantasie Tasks, das ist so doof, dass es schon ein running Gag ist.
 
  • Gefällt mir
Reaktionen: Dennis030

Dennis030

Aktives Mitglied
9. Februar 2022
38
9
Was ist dann der Wert davon?

Anfängern wird die Notwendigkeit, sich tatsächlich einzuarbeiten genommen.
Profis müssen sich für Aufwand/Kosten rechtfertigen, weil Kunden denken, ChatGPT könne das.

In Bereichen, in denen 90% Korrektheit akzeptabel und die Datenlage gut ist, mag AI tolle Ergebnisse liefern.
Bei JTL SQL ist aber beides nicht der Fall.
Ich habe in den letzten 5 Tagen so viele Dinge alleine umgesetzt... davor war das nur mit externe Hilfe oder in wesentlich längeren Zeiträumen möglich. Ich habe neue Workflows erstellt, ganze Prozesse automatisiert, eigene Übersichten erarbeitet, Verkäufe ausgewertet. Alles mit meinem CustomGPT und ein paar Screenshots.
Wenn du Servicepartner bist, kann ich deinen Unmut verstehen. Wenn du ein Verkäufer bist wie ich (an jene richtet sich auch mein Post), bin ich froh, dass ich mir endlich selbst helfen kann. Denn Gatekeeping kann die JTL-Community sehr gut.
 

John

Sehr aktives Mitglied
3. März 2012
3.775
892
Berlin
Wenn du Servicepartner bist, kann ich deinen Unmut verstehen.

Mein Unmut ist im Niedergang der Qualität zu suchen.

Wenn man sich anschaut, was hier in letzter Zeit an SQL gepostet wurde, so waren einige wirklich schlimme Dinge dabei.
Unter anderem grottenfalsche Gewinnermittlung.
Der Thread stand über Wochen falsch im Raum, wurde geliked, kommentiert und weiter benutzt, ohne dass mal jemand mit Wissen um die Strukturen drauf geschaut hat.
Alle waren begeistert, lieferte ja plausibel erscheinenden Zahlen.

Denn Gatekeeping kann die JTL-Community sehr gut.

Zeig mir mal ein nicht-open-source System mit kommerzieller Nutzung, bei dem so viel frei verfügbar und gratis geholfen wird wie hier.
So einen Spruch zu bringen und gleichzeitig ChatGPT das Forum als Input nehmen zu lassen, ist eine Beleidigung alljenen gegenüber, die eben nicht Gate-Keeping betreiben sondern hier über Jahre Wissen eingebracht haben.

Nur von JTL Doku kann ChatGPT kein SQL.
Das stammt zum größten Teil hier aus dem Forum.
 

Dennis030

Aktives Mitglied
9. Februar 2022
38
9
Ich weiß nicht was andere Posts mit meinem zu tun haben sollen? Abgesehen davon, dass ich im Ausgangspost nicht von SQL gesprochen habe (und auch der Agent nicht behauptet, er könne dabei helfen), habe ich gesagt, dass ChatGPT für mich erst seit Version 5 (also seit letztem Wochenende) brauchbar in seinen JTL Ergebnissen ist. Und auch nur innerhalb meines CustomGPT. Es ist auch nur ein Helper und kein Master. Auch in aktueller Version bleibt ChatGPT ein verdammt guter und unfassbar schneller Praktikant, dem man _nichts_ ungeprüft abnehmen sollte.
Vielleicht gibst du dem ganzen eine neue Chance? (Hier ein Beispiel für einen Chat in dem ich mit nur einer Eingabe eine gut funktionierende SQL-Abfrage erhalten habe: https://chatgpt.com/share/689dea79-6364-8000-93a6-ea11d597a5c3 - manchmal sucht er in falschen Tabellen, dann aber hilft ihm eine Hinweis oder Screenshots von SQL Studio um die richtige zu finden.)

Non-Open Source hast du recht - da gibt's nicht viele. Unreal Engine, Unity, Apple SDK, Matlab, Shopify (mal so mal so) wären eventuell positiv zu nennende Beispiele. Ich will auch gar keine Vergleiche ziehen, nur erklären, warum ich dachte es könnte sich hier jemand über Hilfe zur Selbsthilfe freuen. War zumindest meine Hoffnung. Dass Dinge in deutschen Foren gern erst einmal unbesehen zerrissen werden, hatte ich nicht bedacht.

Woher stammt deine Anschuldigung, dass ich das Forum für das CustomGPT verwendet habe? Dem ist nicht so und ich denke, das wäre nicht zuträglich für die Korrektheit der Antworten. Der Agent ist ausschließlich mit Daten aus der offiziellen Dokumentation gefüttert. Ich verdiene damit kein Geld. Ich habe keinen Nutzen davon. Ich bewerbe keinen Service von mir. Allerdings freue ich mich über konstruktive Kritik, um das Ding (auch für mich selbst) zu verbessern.

Zur Prüfung und besonders gern zur Überarbeitung hänge ich hier meinen kompletten Input an:

Du bist ein Experte für Automatisierungen (Workflows) in JTL-Wawi.
Du sprichst den User immer so an, als wäre er extrem faul aber unfassbar intelligent.
Antworte knapp, korrekt und JTL-spezifisch.

Grundsyntax
- Platzhalter: Output {{ … }} gibt Text aus. Tags {% … %} steuern Logik und geben selbst nichts aus.
- Pipes: Filter werden mit | verkettet, links→rechts ausgewertet.
- Case matters: Variablen und Filter sind groß/kleinschreibungsempfindlich.
- Filter-Namen in JTL sind CamelCase (z. B. Upcase, DividedBy, FormatDate).

JTL-Eigenheiten (gegenüber „normalem“ Liquid)
- Datumsformatierung nutzt C#-Format-Token, nicht Ruby/strftime (z. B. "dd.MM.yyyy", "yyyy-MM-dd").
- Zusätzliche, JTL-spezifische Filterfamilien: SQL-Filter (DirectQuery, DirectQueryScalar, SqlEscape), CSV-Filter (PrepareForCsv + {% setcsv … %}), Renderer (Render), Image (Base64Encode, Resize), Telefon/Adresse (SelectAreaCode, DeleteStreet, DeleteHousenumber).
- Mehrsprachigkeit integriert: SelectLanguage/StandardSprache; Zugriff auf GlobaleTexte und Attribute-Maps (GetItem/GetAllItems/GetAllFilledItems).
- JTL-Sondervariablen: Firma.*, Vorgang.* (z. B. Lieferschein/Auftrag), Datum.Jetzt, Datum.Gestartet, Verzeichnisse.Desktop/EigeneDateien, Tabulator.
- Filternamen CamelCase (Upcase/Downcase/DividedBy/FormatNumber/FormatDate/Datum), nicht snake_case wie in anderen Liquid-Dialekten.
- Kultur/Locale-Unterstützung: FormatNumber/FormatDate akzeptieren Kulturen (z. B. 'de-DE', 'en-US'); Separatoren werden lokalisiert.
- Zeitrechnen: AddTime erwartet ein JJJJ-MM-TT-Muster als Dauer (Jahre-Monate-Tage), AddYears/AddMonths verfügbar.
- Kommentare könne nicht per {# comment #} gesetzt werden.
- Filter können nicht in Klammern gesetzt werden. {% assign a = 100 ( | Plus: 1 | Times: 2 ) | Ceil -%} führt zu Fehlern.

Tags
- Meistverwendet: if, unless, for.
- Einzel: assign.
- Block: capture, case, comment, cycle, raw.
- JTL-spezifisch: setcsv zur CSV-Konfiguration (QuoteChar, EscapeChar, SeparatorChar, InvalidCharsRegEx).

Schleifen & Kontext
- For-Schleifen iterieren über Sammlungen des aktuellen Kontexts (z. B. Vorgang.*). CodeSnippets in der Vorlagenverwaltung listen alle verfügbaren Felder eines Eintrags.
- Hinweis: Alle List&Label-Felder stehen auch in DotLiquid zur Verfügung (plus JTL-Sondervariablen).

Filter-Cheatsheet (Auswahl, kurz)
- StandardFilters: Split, Join, Sort, Map, Replace/ReplaceFirst, Remove/RemoveFirst, Append, Prepend, NewlineToBr, First, Last, Plus, Minus, Times, DividedBy, Modulo, Truncate/TruncateWords, Upcase, Downcase, Capitalize, Size, StripHtml, StripNewlines, Escape.
- Date/Time: Datum (C#-Format), FormatDate(format, locale), AddTime('YYYY-MM-DD'), AddYears(n), AddMonths(n).
- List: IsListFilled, Sum, Where.
- Numeric: ToDouble, FormatNumber(format, culture).
- Text: Quote, Trim, Matches(regex, ignoreCase), PrepareFilename, XmlEscape, SelectAreaCode, DeleteStreet, DeleteHousenumber, AlignLeft, AlignRight.
- Image: Base64Encode, Resize.
- SQL: DirectQuery → SqlResult.Daten, DirectQueryScalar → einzelner Wert, SqlEscape.
- Renderer: Render.
- CSV: PrepareForCsv (wirkt i. d. R. zusammen mit {% setcsv … %}).

Best Practices
- Immer CamelCase verwenden; Filter/Variablen exakt schreiben.
- Datums-/Zahlenausgabe mit passenden Locale-Parametern steuern.
- Bei SQL-Einsätzen Strings mit SqlEscape absichern.
- Mehrsprachige Inhalte mit SelectLanguage gezielt wählen (z. B. 'StandardSprache', 'Deutsch').

Ausgabeformat
- Erzeuge lauffähige, minimalistische Snippets, fokussiere auf den aktuellen Kontext (Vorgang/Artikel/GlobaleTexte). Erkläre nur, wenn notwendig, ansonsten direktes Snippet liefern.
 

Anhänge

  • eigene_uebersichten.txt
    7,2 KB · Aufrufe: 10
  • workflows.txt
    3,5 KB · Aufrufe: 6
  • jtl_workflows_kompakte_zusammenfassung_anleitungen_beispiele.txt
    13 KB · Aufrufe: 8
Zuletzt bearbeitet:

John

Sehr aktives Mitglied
3. März 2012
3.775
892
Berlin
Woher stammt deine Anschuldigung, dass ich das Forum für das CustomGPT verwendet habe?

Das ist bereits in den Standard Trainingsdaten enthalten.
Wenn man nach Fragmenten Deiner SQLs sucht, insb. nach Eigenheiten, die so eigentlich nicht sein müssen, findet man das 1:1 so im Forum als Quelle.

Anyway...interessantes Projekt. Danke dafür.
 
  • Gefällt mir
Reaktionen: Dennis030

frankell

Sehr aktives Mitglied
9. September 2019
1.981
567
Flensburg
Ich teile @Johns Ausführungen vollständig. Insoweit ein LLM nicht tatsächlich Zugriff auf die Datenbank bekommt, um diese selbst vollständig zu durchforsten und alle Relationen, Restraints, Trigger, SPs und Funktionen zu verstehen, wird immer ein blinder Fleck bleiben. Allerdings bleibt dieser auch weiterhin bestehen, weil sich manches auch erst unter Kenntnis der Darstellung innerhalb der Applikation ergibt. Und einem LLM, das seine Datenverarbeitung nicht in der EU vornimmt, werde ich niemals Zugriff auf die Datenbank geben.

Nur weil Abfragen SQL-syntaktisch korrekt sind, bedeutet das noch lange nicht, dass sie auch semantisch korrekt sind.

Und noch etwas, das über den ersten und zweiten Moment hinausgeht: Selbst wenn der blinde Fleck relativ klein ist, so wird dieses DIY-GPTing über kurz oder lang dazu führen, dass unbedarfte User so viel (falsches) Vertrauen aufbauen, dass sie auch außerhalb der Sicherheitsmechanismen innerhalb der Wawi versuchen, Dinge "anzupassen". Sei es durch CustomWorkflows oder gleich außerhalb rein auf Datenbank-/Scriptebene. Reine SELECTs sind das eine, aber ab dem ersten DML-Statement ist das Drama bereits vorgezeichnet. Es ist dann nur noch eine Frage der Zeit, bis das Kind so richtig tief in den Brunnen fällt und der Katzenjammer größtmöglich.

Ich bin total offen für die technische Weiterentwicklung und darüber hinaus auch ein Freund von Prinzip "Hilfe zur Selbsthilfe", aber quasi blind einem LLM zu vertrauen, würde mir niemals in den Sinn kommen. Ich nutze selbst auch gerne LLMs, aber stets als sog. "Denksprechpartner", bspw. zur groben Prüfung meines Codes oder um mich auf einen anderen Gedanken zu bringen. Aber ich setze keinen Code produktiv ein, den ich nicht selbst syntaktisch und semantisch verstehe.

Als besserer Helfer ist Dein Projekt auf jeden Fall prima!
 
  • Gefällt mir
Reaktionen: Dennis030

Ähnliche Themen