✨ GPT KNIME Workflow Explainer – A 🛠️ Game-Changer for Workflow Documentation

Hi KNIMErs,

I recently tried out the KNIME Workflow Explainer and was seriously impressed! :heart_eyes: It takes the JSON file from the Workflow Summary Extractor and automatically generates a clear, natural language explanation of your workflow. :brain::bulb:

For me, it’s been a huge :hourglass_flowing_sand: time-saver, especially for documenting complex workflows and keeping everything traceable :mag:. It even gives you a Python version of the workflow (still in beta, but super promising! :snake::gear:).

Check out the structure I used and the steps involved :point_down::

Here is the Chat link:

Here is the link to the component:

Cheers,

AG.

10 Likes

Awesome that this already exists - I was playing around with something similar - will give it a try for sure thanks for sharing and even more thanks for developing it!

1 Like

Hi Martin,

It’s my pleasure! I truly enjoy working with KNIME, so for me is fun not only work.
We actually developed a fully functional version internally within our company to facilitate workflow reporting; this is just the light version. This was necessary due to the stricter regulations in healthcare regarding process reporting. The Python integration, while a fun challenge, has proven to be tricky at times. For instance, “pythonizing” workflows with the Joiner nodes didn’t work perfectly on the first attempt. It required several iterations and back-and-forth adjustments with the AI agent to get everything running smoothly. The goal of having it in a Python version is to streamline the transition from prototyping to a deployable product. We have some workflows in KNIME that isn’t fully set up for this yet, and explaining it to regulators in a way that they’re comfortable with can be a challenge. But after fine-tuning the AI model, we’re hopeful it will work even better.

Best,

AG.

2 Likes

Very nice piece of work. I tried it on a simple geospatial workflow developed for one of the Just Knime It challenges. My initial run had several issues:

  • The Workflow Explainer missed three nodes in the workflow. Corrected by telling ChatGPT to make sure to include all nodes.
  • The Workflow Explainer incorrectly identified the granularity in the DateTime Difference as “days” (which is the node default) rather than seconds which was correct in the JSON input.
  • Included a node which was not in the workflow.
    The errors were easily found in this simple workflow. I’m concerned what might happen in a very large, complex workflow.
    Here’s the workflow, JSON input, and ChatGPT output:

    JKISeason3-17 ChatGPT.knwf (199.9 KB)

File_0.json (16.9 KB)
ChatGPT Output.txt (4.3 KB)

2 Likes

Nice work @VAGR_ISK,
how well does this work with workflows containing meta nodes and components?
I built a workflow with the AI Extension a while ago that attempts to do something similar but I haven’t gotten around to figure out how to handle nested workflows.
If you like you can check out the workflow on the hub: GenAI Workflow Explainer – KNIME Community Hub

Best regards,
Adrian

3 Likes

Hey,

Sorry for the delay.

I think I know why you got wired results, and the problem is that the KNIME workflow explainer custom GPT is a little bit cocky. So, when you open the conversation, you have to click into the left starter question, which says, How does this custom GPT work? After it answers, you can load the JSON file and run it. You don’t need to write anything, Just run the JSON.

I ran your workflow and analyze the results and got the correct description. However, I believe you actually load a different JSON file than the one the JSON Summary component generated. I mean the JSON that you sent me is correct, but the text (txt file) description of the work flow contains a GroupBy node description that is not present in the workflow. There is no way that the GPT simply invented a GroupBy node :sweat_smile:. Not even hallucinating X2.

So, my suggestion is: take the JSON file that you send me and run it in the GPT KNIME workflow Explainer and see if you get the same results as I got. (Attached)

Let me know if you understand everything or have any problem.

Thanks for testing my crazy creations :troll: hehehe.

ChatGPT Correct.pdf (97.8 KB)

Regards,

AG.

1 Like

Hi,

In principle that should work swiftly. The only thing is that the component input and output are itself explained as they would be a node.

Here I show an example:



Now, the system has many limitations. One is that the workflow summary extractor determines the level of granularity that the description will provide. So, if your workflow has complex nodes that are not well described in KNIME JSON summary you will get a poor description.

Also I was looking to the workflow you send me. I think this looks a bit overcomplicated. In my set up it works well for both components and metanodes. The only thing you need to take into account is that both the input and output of both components and metanodes will be represented as separated nodes in the description.

Just to test I exported your JSON summary and run it in the KNIME Workflow Explainer Custom GPT and got the following:

Here is the JSON generated from your workflow and the description:

File_test0.json (106.8 KB)

Results.pdf (69.5 KB)

Let me know if that is what you were looking for.

If you want to create a GPT using the LLM nodes from KNIME, it will require quite a bit of prompt engineering. The custom GPT took me a lot of time to get it working properly.

Cheers,

AG.

Didn’t realize one has to run the “introduction” first. Reran as you suggested and it worked perfectly. Thanks very much.

Glad that you got it.

Can you click in solution in the post that I give you. In that way other people will see the post as a solution.

Thanks,

AG.

I’d gladly do it, but I don’t see a “solution” option.

In the post where I explain how to solve the problem:



That’s not really the response to me, so I can’t find a “solution” option.

Oh Sorry,

here:

Solutions can only be flagged by the topic creator or mods so feel free to flag whichever post you deem the best.

1 Like

Hi @nemad,

Just coming short to your question. Indeed if you are having some nodes inside metanodes or components you will have the problem that the JSONpath wont recognize the path of nodes inside the metanodes and components. For that to work you will need to use the recursive descent operator “. .” in the JSONpath so that the nodes will be recognized even if they are nested in the JSON structure.

Regards,

AG.