Data Science

Machine learning & data science for beginners and experts alike.
EmilyVA
Alteryx
Alteryx

The Problem

 

Have you ever found yourself suddenly responsible for understanding a library of Alteryx workflows, knowing they power your organization with analytics, but uncertain what each workflow actually does? Maybe you…

  • inherited a project from a colleague who won the jackpot in Vegas and moved to a tropical island?

  • took over management of a server and weren’t certain what each scheduled workflow did?

  • need to revisit a project that someone (ahem, you) worked on a few years ago… back before you saw the light and embraced the glories of awesome documentation?

You need to figure out what these workflows do, ideally without opening up each of them one by one and carefully reading through every tool. Or maybe you just want an easier way to document your workflows as you create them, to prevent the situations above!

 

Source: GIPHY

 

The Solution: The Workflow Summary Tool

 

Today we’re releasing… (drumroll please…) the Workflow Summary Tool! This is a new AiDIN-powered Designer Desktop tool that leverages OpenAI’s ChatGPT to automatically provide concise summaries of a workflow’s purpose, inputs, outputs, and key logic steps. Alteryx AiDIN is the AI engine that infuses the power of generative AI & Machine Learning (ML) across the Alteryx Analytics Cloud Platform.

 

Just pull the Workflow Summary tool into a single workflow or point it at a whole directory of them, connect your OpenAI API key, and presto! The tool outputs a few-word topic, a headline, and a paragraph-length summary for each workflow! It gives you the choice of storing this summary in the Workflow Info Description field (accessible by Alteryx Server when a workflow is deployed there) and/or sending the summary downstream from the tool for export to a file or further analysis.

 

Download the Workflow Summary tool here and give it a spin!

 

Example: Summarizing a Single Workflow

 

Last December, I participated in the Alteryx “BaseA” Advent of Code challenge. Unfortunately, I tended to be in a rush and not paying much attention to documentation as I created my workflows for the various days. Below is my Day 10 workflow - but when I opened it up, I had forgotten what it did! So I pulled in the Workflow Summary tool from the Laboratory toolbar (see installation and setup instructions here), connected it to my DCM connection for my OpenAI API key, and configured it to Summarize “Current Workflow”:

 

image-20230627-182526.png

 

I chose both Output Options, so once I run the workflow, a Browse tool on the (optional) output anchor shows this helpful summary:

 

image-20230627-183040.png

 

And then if I close (without saving!) and re-open the workflow, click on the canvas, and look under the Workflow Configuration> Meta Info tab, the same summary has been populated in the Description metadata field for the workflow. This is super cool, because if I deploy my workflow on Alteryx Server, this description will be available there to help my server Administrator and Governance teams better understand their data pipelines!

 

image-20230627-183145.png

 

Example: Summarizing a Whole Directory of Workflows

 

That was helpful! However, I have a whole folder of these poorly documented Advent of Code workflows, and I’d really rather not have to drop this tool into each of them individually. Instead, I can put the Workflow Summary tool on a new canvas, point it to that whole, messy directory, and get a nice, neat listing of what each of those workflows, macros, and analytic apps does:

 

image-20230627-184945.png

 

And now I could do useful downstream analysis like filtering for which workflows examined Elf calorie expenditure, which had to do with visibility through trees, and which were concerned with signal strength of the elves' communication devices (ah, those wacky Advent of Code challenges!). I could also open up each of those workflows and see that they each now contain neatly filled in Descriptions for the workflow Meta Info, ready for deployment on Server or handing off to my colleagues when I win the jackpot!

 

no-too-much.gif

Source: Tenor

How does it work?

 

When ChatGPT first took the world by storm a few months ago, we saw an opportunity to summarize Alteryx workflows in plain English using the OpenAI APIs. We initially found that the files defining most workflows were too long for ChatGPT in their raw form. So we developed a set of strategies to convert each workflow file into text of a length that the ChatGPT model can accept. These include selectively extracting meaningful tool configuration options (the text but not the color of a Comment tool), individually summarizing especially long tools (for example an R or Python tool with a lot of code in them), and summarizing groups of tools (in containers, or in order of the workflow flow) and then summarizing the summaries.

 

We also spent some time determining effective prompts to get the ChatGPT models to usefully summarize our workflow text. (It sometimes wanted to default to “this is an Alteryx workflow that analyzes data” - which is almost always true and almost never helpful!) When we combined all these techniques, we found that we were able to come up with amazing summaries for even the longest and most complex workflows! And we are so excited about this capability, that we want to share it with our users and invite you to participate in the real-time innovation by giving us feedback on how it works for you, and what it helps you accomplish!

 

Conclusion

 

We’re excited to combine the amazing workflow creation and auditable, visible analytics capabilities of Alteryx with the power of large language models to make documenting your workflows easier and faster! We hope the Workflow Summary Tool supports your efficiency, governance, and team collaboration! Please download it here, give it a try, and let us know what you think in the comments!

 

Source: GIPHY

Comments
iacovie
5 - Atom

When using this tool, how can we ensure data security through Chat GBT? I love the idea of this but our group goes through a lot of sensitive information that we would rather not push through unsecured AI.

EmilyVA
Alteryx
Alteryx

@iacovie We agree data privacy is very important!   We try to be very transparent about what we're sending to OpenAI in the Data Privacy section of this accompanying blog post: How To Use the Workflow Summary Tool - Alteryx Community  (scroll down a bit past the installation and set-up instructions).

vrishabhpatel
6 - Meteoroid

I've set up the DCM as well as my OpenAPI key. I am getting the following error while running it - "Error: Workflow Summary (1): Could not init plugin TypeError("'NoneType' object is not subscriptable")"

Please help

fimler
8 - Asteroid

I have checked the box for "Add Summary to Meta Info Description" and have run the workflow.  Ive saved the workflow, closed it and re-opened it.  I dont see the description in the Description section of Meta Info.  

Jamie_Young
5 - Atom

Hi, Really enjoyed the Sneaks presentation ! I have installed and updated my DCM but keep getting the error 'Internal Error:Failed to read port assignment' what do i need to do? Thx

atraore
5 - Atom

I followed all the steps, but I can't see the summary result or anything in the description section of Meta Info

EmilyVA
Alteryx
Alteryx

Hi @vrishabhpatel, if you've tried running the tool a few time and are still getting that error, I'd double check that the DCM key is correctly connected to the tool - that's the only thing I'm aware of leading to that kind of error.   

EmilyVA
Alteryx
Alteryx

@fimler If you're summarizing Current Workflow to the Meta Info Description field, it's counter-intuitive, but *don't* save the workflow after running it, before closing and re-opening.  The tool is writing to the file on disk with the description, and if you save from Designer before closing, you'll overwrite the Description with the empty field (or whatever was already there).

EmilyVA
Alteryx
Alteryx

@atraore The Meta Info Description won't show up until you close the workflow and re-open it (*without* saving after running the workflow summary tool).  I'm surprised that there weren't summary output fields in the output anchor of the tool (if you had that option selected for output) if it ran without errors.

EmilyVA
Alteryx
Alteryx

@Jamie_Young Thanks for trying to tool!  I've seen that error on occassion - it usually means my SDK is having trouble talking to the base Designer engine, and usually it resolves with retrying and/or restarting Designer.  But I'm wondering what version of Designer you're running?

atraore
5 - Atom

Thank you, Emily, it worked after I did that. if I want to show the summary as a text inside the workflow, how do I do that? 

ejhaley
8 - Asteroid

Hi All!

 

Loved the presentation at Sneaks as well!! Really awesome!

 

I've installed and setup the DCM but seem to be getting a Firewall/Network error, see screenshot below.  I thought this was going to be related to our company VPN, but I disabled and still got the error :/  Obviously, still in Beta and happy to be a guinea pig :)  Love this application so much.

 

ejhaley_1-1685462849308.png

 

fimler
8 - Asteroid

@EmilyVA  - Ok, that worked.  Is there a way that the output from the Workflow Summary tool can be used to populate a comment box in the workflow or the Annotation for a tool?

EmilyVA
Alteryx
Alteryx

@atraore  and @fimler Glad it worked!  Did the summaries do a good job of capturing your test workflows?

 

Auto-populating comments and annotations would be cool and is definitely something we're thinking about (hence the AutoDoc sneak), but at this point the Workflow Summary tool doesn't have that capability. 

 

However, the output can certainly be copied over from the Workflow Info Description field or the output anchor into a comment box manually, for now!

Jamie_Young
5 - Atom

Hi currently using Desktop 22.2 and do I need to set up the SBK or does that come with? Thanks

EmilyVA
Alteryx
Alteryx

@ejhaley  Thanks for giving the tool a try!  That particular error is one from OpenAI; their suggestions for resolving it are (Error codes - OpenAI API):

 

An `APIConnectionError` indicates that your request could not reach our servers or establish a secure connection. This could be due to a network issue, a proxy configuration, an SSL certificate, or a firewall rule.

If you encounter an APIConnectionError, please try the following steps:

  • Check your network settings and make sure you have a stable and fast internet connection. You may need to switch to a different network, use a wired connection, or reduce the number of devices or applications using your bandwidth.
  • Check your proxy configuration and make sure it is compatible with our services. You may need to update your proxy settings, use a different proxy, or bypass the proxy altogether.
  • Check your SSL certificates and make sure they are valid and up-to-date. You may need to install or renew your certificates, use a different certificate authority, or disable SSL verification.
  • Check your firewall rules and make sure they are not blocking or filtering our services. You may need to modify your firewall settings.
  • If appropriate, check that your container has the correct permissions to send and receive traffic.
  • If the issue persists, check out our persistent errors next steps section.
EmilyVA
Alteryx
Alteryx

@Jamie_Young Designer 22.2 - the FIPS release?  Hmm... the SDK may not be part of the FIPS release - let me check.

Edited to add:  checked, the SDK should be available in 22.2, as long as the AMP engine is enabled.   

 

Other debugging solutions amount to deleting the tool (either from C:\Users\YOURUSERNAME\AppData\Roaming\Alteryx\Tools or from C:\ProgramData\Alteryx\Tools , depending on whether you installed for yourself or for everyone) and then re-running the yxi installer.  

Jamie_Young
5 - Atom

Thanks for checking, I mis typed I am actually running 2022.1 would it still be ok? Also is the SDK something I need to set up manually?

EmilyVA
Alteryx
Alteryx

@Jamie_Young 22.1 should be fine, and the SDK is included with base Designer.  The only set-up is the steps outlined for setting up the DCM in this post: How To Use the Workflow Summary Tool - Alteryx Community

Jeff_Neklason
8 - Asteroid

@EmilyVA excellent presentation for Sneaks and thank you for already having this out there for everyone to start engaging with. It looks like you are going to have a busy week with lots of questions as there is a lot of excitement. I look forward to playing with it soon. Good job!

EmilyVA
Alteryx
Alteryx

@Jamie_Young and anyone else hitting the 'Internal Error:Failed to read port assignment' message, the best guidance I've gotten from our Python SDK team on that is:

1. Try removing the .shiv folder from your home directory and re-installing the tool the yxi  (this will be regenerated the first time the tool runs, which might make it a bit slower but shouldn't break anything)

2. Try deleting the tool (either from C:\Users\YOURUSERNAME\AppData\Roaming\Alteryx\Tools or from C:\ProgramData\Alteryx\Tools , depending on whether you installed for yourself or for everyone)  and reinstalling it from the yxi

3. If you have admin permissions, try installing the tool for all users, not just yourself (it may help to open Designer in admin mode to do this).

 

Based on some internal troubleshooting with someone on our team, beyond those two steps, it seems like the issue may relate to the network settings on the computer, and we're still working on approaches to help y'all diagnose those issues and fix them.

 

Sorry for the inconvenience!

Jamie_Young
5 - Atom

Hi Emily, thanks for the update :) deleting the .shiv folder worked perfectly, thanks !

 

 

EmilyVA
Alteryx
Alteryx

@Jamie_Young That's great news!  I'm so glad it worked!

balajilolla2
8 - Asteroid

@EmilyVA , I tried to install this tool and run it but it is giving the below error.SSL Certificate Verify Failed. How can I resolve this error?

 

balajilolla2_0-1685740604293.png

 

EmilyVA
Alteryx
Alteryx

@balajilolla2 That is an OpenAI error that, based on some googling seems like it could be related to the python SSL certificates on your system being out of date... what version of Alteryx Designer Desktop are you running?    It also seems like it could be related to a VPN (if you're on one) not allowing SSL verification - could you try disabling your VPN and seeing if it runs?

balajilolla2
8 - Asteroid

@EmilyVA  I am using version 2022.3

EmilyVA
Alteryx
Alteryx

Hmm... I developed the tool while I was on 2022.3, so that shouldn't be the problem.  There are several ideas here (SSL: certificate_verify_failed - API - OpenAI Developer Forum), but since I can't reproduce the issue on my laptop / network, it's hard for me to help you debug.  Have you tried turning off any VPNs you're on to see if they might be blocking the authentication required?

TrangPham1209
5 - Atom

Hello,

I'm having this error. Anyone has any idea what the cause and how can I resolve it?

Thanks!

 

Error: Workflow Summary (2): <class 'requests.exceptions.ConnectionError'>: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001FFE7503F40>: Failed to establish a new connection: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond'))

EmilyVA
Alteryx
Alteryx

Hi @TrangPham1209 - I wonder if this error might be because your VPN or firewall is blocking a connection needed by the OpenAI libraries used in the tool.   The other thing I wonder about is whether it might work if you tried again now - if some server that is needed was down, I think it might be back up, as I can't reproduce your error right now.

Gualigee
8 - Asteroid

 

I asked in ChatGPT directly, it looks good:)

 

Capture.PNG

EmilyVA
Alteryx
Alteryx

Fascinating, @Gualigee !  The Workflow Summary Tool uses a  compressed form of the text representation of the workflow (the yxmd) rather than an image representation, and is focused more on overall workflow purpose than on explicitly listing all the tools, but it's really interesting seeing what can be done with just the image!

Alteryx1-Epista
5 - Atom

Hi,

 

I am not sure why but I get that error "Error: Workflow Summary (1): Could not init plugin AttributeError("'NoneType' object has no attribute 'get'")"

Has anyone encounter it ?

 

Found out. I needed to press "connect" on the Data Source setup :)