Generative AI (ChatGPT) Augmenting Human Capabilities iPaaS Puzzle!

Update: Don’t miss our iPaaS Puzzle Shows this Friday!

:earth_africa::jigsaw::robot: Get ready for our exciting webMethods iPaaS Puzzle Show!

Join us as we explore the power of GenerativeAI and how the ChatGPT API Connector can augment human capabilities.
Two events, one amazing learning experience! :rocket:

Event 1: APJ/EMEA
:spiral_calendar: Fri, Apr 21, 6:00pm (AEST), 12:30pm IST, 8:00 AM (CEST)
:globe_with_meridians: Virtual event
:point_right: Register now:

Event 2: Americas/EMEA
:spiral_calendar: Fri, Apr 21, 11:00am EST, 8:00am PST, 5:00 PM (CEST)
:globe_with_meridians: Virtual event
:point_right: Register now:

Do you enjoy puzzles and challenges that help you keep your webMethods skills sharp? How about exploring new ways to augment human capabilities with cutting-edge AI technology? Look no further! Join/solve our:

Generative AI (ChatGPT) Augmenting Human Capabilities iPaaS Puzzle!

Inspired by Doug Engelbart’s quote, “Technology should not aim to replace humans, but rather to augment human capabilities”, we created this IPaaS Puzzle.

Use our brand new ChatGPT API Connector and built a solution that truly augment our human capabilities.

Check out Dave Pemberton’s webMethods ChatGPT API Connector introduction post to get started.

And if you’ve missed our live webinar watch the recording here:

Whether you’re a seasoned webMethods professional or just starting to explore the potential of AI, this challenge is for you. We can’t wait to see the amazing solutions you come up with!

The visionary Stewart Brand in 1968 realized: We are as gods and might as well get good at it! Our little puzzle is one step in that direction!

Submissions

Please post your solution to the puzzle as a reply to this thread.
Use the “blur spoiler” tag to hide your results, so people will have to click on your solution to indicate they want to see it!

Prizes

There will be no ranking - there’s no best solution as any working one can bring benefit and help make our lives a bit easier. Everyone who shares a workflow will receive a Community gift!

Suggest a Puzzle

If you have another great idea for an iPaaS Puzzle, please suggest it in this form . It should be a small challenge that can be completed within a week, with easy access to the necessary source data. If your challenge is aimed at improving our lives, even better!
tangram

If your iPaaS puzzle suggestion is selected, we’ll invite you to present it in person at our iPaaS Puzzle Show and you’ll receive a wooden tangram game as a token of our appreciation.

Puzzle On!

6 Likes

Here are several ideas that I came up with:

Help me find videos that I’m interested in

Problem: There is so much content out there, so I don’t know what to watch and waste a lot of time browsing (and youtube’s suggestions are not great to be honest). Can ChatGPT help me filter videos that I’d really be interested in?

Solution: A workflow that:

  1. Retrieves youtube videos on a certain topic (based on tags). This can be done whenver a new video is published or regularly e.g. daily.
  2. Add them to an Excel/Google spreadsheet
  3. On a regular basis use AI to find and sort the videos that I’m interested in based on more specific/human-explained requirements e.g. “I am a Software Engineer interested to know how ChatGPT can help me improve my productivity. I use Java, MySQL and Mongo, but am keen to learn Python. I’m using Eclipse and am a Linux fan. I prefer shorter videos.”
    You can even then add these videos to a note taking app to remember to watch them.

Learn from a video without having to watch all of it

Problem: Similar problem - limitless content, limited time. Maybe AI can help find useful stuff from videos without having to spend hours.
Solution: A workflow that:

  1. Retrieves youtube videos on a certain topic (based on tags). This can be done whenever a new video is published or regularly e.g. daily.
  2. Use an API to transcribe the video e.g. Assembly AI
  3. Use an AI tool to summarize and note down the information relevant for me/my interests.
    You can then even automate sharing on twitter, writing a blog article or sending to friends.

Help me schedule my tasks

Problem: I never find the time to organize all my tasks because of urgencies.
Solution: A workflow that:

  1. Retreive my tasks from Microsoft to do/Evernote or another notetaking app
  2. Use ChatGPT to help prioritize these tasks, add subtasks, evaluate showstoppers. Create a schedule.
  3. Add the tasks to Google Calendar.

Help me in coding

Problem: I hate adding notes to my GitHub commits, but colleagues need context about the changes. Sometimes even I forget what I wanted to do :smiley:
Solution: A workflow that:

  1. AI evaluates the code of my GitHub commit
  2. Adds or suggests a note for the commit

Problem: Creating documentation is boring…
Solution: A workflow that:

  1. Evaluates the code of my GitHub project
  2. ChatGPT suggests readmes explaining what it does

Problem: It’s hard to review my own code
Solution: A workflow that:

  1. Evaluates the code of my GitHub commits
  2. AI will review the code and give me suggestions about how to improve it
2 Likes

Some great ideas and great minds think alike I guess. For your:

Learn from a video without having to watch all of it

There is a Chrome add-on available:
YouTube Summary with ChatGPT - Chrome Web Store (google.com)

Wondering whether that is enough for what you would like to do!
Let me know!

1 Like

Not really. That extension simply streamlines a bit the copy/paste of the transcript from youtube. You still need to do most of it manually.

What I’d like to do is automate it as much as possible i.e.

  • automatically find the relevant videos on a regular time or immediately after published
  • the workflow to do all the communication with the AI without you having to log in, press continue, etc.
  • the workflow to then take the summary and put it somewhere e.g. an excel sheet, notes app, tweet about it or even create a blog article about it.

All of that happens while you are sleeping or doing something more fun.

1 Like

Few more ideas that I think can help make the experience on our forum better:

Spam filter

This week there were two spam posts that passed our filters, which was annoying. I though checking some random posts with ChatGPT and it was able to evaluate which was spam or not. So a workflow can be:

  1. New topic is posted to the forum
  2. A webMethods.io Trigger connected to the Discourse API starts the wokflow
  3. webMethods.io check with ChatGPT if the topic looks like spam
  4. Depending on the answer flag/hide or leave the topic

Help compose/improve the question

Often new users will post a question that has too little detail, context so experts need to ask additional questions. This leads to a back and forth that can take days instead of getting the answer in hours. Even though we have guides and a template a lot of people simply skip that. A workflow that might help:

  1. New topic is posted to the forum
  2. A webMethods.io Trigger connected to the Discourse API starts the wokflow
  3. AI gets the context of the question and doesn’t simply give general suggestions, but those relevant to that particular issue. It can also help with selecting the right tags or fixing the grammar.
  4. The suggestions are sent to the user

It’s tempting to set up a bot that will answer questions, but I don’t think that will work for our forum. AI can help with some problems and help with guides, or even full solutions, but the problem is those sometimes are not good enough. These solutions might do the job on first glance, but eventually turn out to be insecure, buggy, cause performance issues or use outdated methods. So I’d always prefer to hear experts’ opinion instead. Ai can still help in pointing in the right direction or even explain concepts, but quality and authenticity of answers must always be checked.

So few more ideas

  • A workflow that will use ChatGPT to assign a question to the right expert based on expertise, time of the day, holidays, etc
  • A workflow that will scan forum replies and decide if they were helpful enough or a team member needs to be pinged and jump in to help
  • A workflow that will check if a Knowledge base article/forum post has been written by AI or is duplicate content and ask a real human to review it, update accordingly or delete it.
  • Provide suggestions in real time that might help solve more generic or common issues.
1 Like

As a follow-up to Toni’s idea of a spam filter, here is how a simple workflow using ChatGPT API connector and Discourse API would look like:

  1. The first step is to set an RSS feeds trigger which will automatically start the workflow once a new post is submitted to the TECH forums - add the RSS feeds trigger and configure it – enter RSS Feed URL and perform a test.

  2. Next, to configure the ChatGPT connector provide your API key and fill out all necessary fields – in this example, the ChatGPT connector setup looks like this:

Model: text-davinci-003
Prompt: Does this post in the Software AG Tech Community support forum sound like spam?
{{$trigger.description}} (from the Incoming data panel add the post content fetched by the RSS feeds trigger)

  1. Then, set up conditions depending on the ChatGPT answer:
  • if the ChatGPT answer matches ‘Yes’ - use the HTTP Request connector to send a POST API request to Discourse API which flags the post as spam, hides it, and sends it to the review queue.

HTTP method: Post
URL: https://{defaultHost}/post_actions.json
Headers: Api-Username & Api-Key
Set Body Type: x-www-form-urlencoded
Body:

Name: id
Value: get the post id from the Incoming data panel

Name: post_action_type_id
Value: 8
  • if the ChatGPT answer matches ‘no’ - connect the condition arrow to the Stop step – this will leave the post as it is.
4 Likes

See the recording from today’s session here:

And here’s my workflow that uses ChatGPT to generate a personalized response to an NPS survey :slight_smile: ChatGPT Integration Example: NPS Survey Response with Moderation

1 Like

We can use ChatGPT Connector for intelligent error handling. I have created a workflow to get response from ChatGPT based on query.

Then created a common flow service (intelligentErrorHandling) which takes lastError, input variables and context as input and forms a query. Then it calls that workflow to get response from ChatGPT.

Now this common intelligentErrorHandling flow service can be called from any flow service’s catch block and pass the error , input and context (such as webMethods or webMethods.io MFT etc) . Getting response with the

  • proper error message
  • possible ways to correct it.
  • It also suggests if any blog/posts/forums article with similar error based on the context

This intelligent ErrorHandling then can be reused across all flows.

First Scenario - I am doing AddInts with one of the input (89kkk) having character at end of the number. ChatGPT is responding back which number has error and suggesting possible correct value after removing additional characters from the number.

Second Scenario - I am passing an invalid JSON format in the input. It is giving me error while trying to convert jsonStringToDocument. ChatGPT summarizing the error message and possible correct value.

Third Scenario - trying to put a file using SFTP connector. To generate an error, I am passing string as contentStream input. ChatGPT takes the input, lastError and context as input. It suggest proper error message with possible way to correct it and similar blogs or article.

Note:- I am using free trial API key. As ChatGPT data is not current so it does not give recent article links. I think paid version of ChatGPT may be more current.

3 Likes

Wow Tarak,

this is super cool! Love that it explains the error in plain Englsh and gives a link for more information. Well done!

Note:- I am using free trial API key. As ChatGPT data is not current so it does not give recent article links. I think paid version of ChatGPT may be more current.

With the new GPT Plugins, one of them being browsing, you can access the latest information. We are also working on BingChat API Connector that would also bring this excellent workflow current.

You made my day!

1 Like

In my earlier post , I shared common flow service (intelligentErrorHandling) as one of the use case for ChatGPT. I have been exploring the possibility of further enhancing this service to customize error messages or any other system messages according to my company’s perspective. However, achieving this requires a custom trained model of ChatGPT, which needs to be fine-tuned based on specific data relevant to my company.

To accomplish this, I followed the guidelines provided in the following resource: https://platform.openai.com/docs/guides/fine-tuning.

I utilized the webMethods ChatGPT connector for the following purposes (except step #1):

  1. Create and upload custom data into the OpenAI organization to fine-tune the ChatGPT model.
  2. Create a fine-tuned model with the custom data.
  3. Retrieve or list the fine-tuned model to verify if the model training is completed with the custom data.
  4. Utilize the fine-tuned model to generate completions as needed.

1) Create and upload custom data into the OpenAI organization to fine-tune the ChatGPT model.

Created excel sheet with prompt and completion. To get better result, we need to have good amount of training data.

Then convert this data(xlsx) into jsonl format, required by ChatGPT model. This conversion done in local machine, using below command.

openai tools fine_tunes.prepare_data -f .\jsonl.xlsx

jsonl file will be like this

Now it needs to be uploaded to my OpenAI organization. I used python code to upload the test data file into my OpenAI organization.

From this output what we need is the file ID- “id”: “file-EsSFzDpXixTVWE3JYczRbSYg” for next call using webMethods ChatGPT connector.

2) Create a fine-tuned model with the custom data.

To call the OpenAI create fine-tune action from the webMethods ChatGPT connector, we need to pass the file ID from the previous step and specify the base model we want to train on the custom data. There are four base models to choose from: ada, curie, babbage, and davinci. These are different variants of the GPT (Generative Pre-trained Transformer) model architecture developed by OpenAI, and they differ in their size, power, and intended applications. Davinci is the largest and most powerful, Curie is the second-largest, Babbage is smaller but still powerful, and Ada is specifically designed for scientific applications.

I have chosen to use Ada, as I am using the free trial and this base model is less expensive to train with custom data. When checking for the same data to train Davinci, it costs 0.47 USD, while Ada only costs 0.01 USD. However, as we increase the epoch size, the cost will also increase. Epoch refers to a complete iteration of the training dataset during the model training process.

In the screenshot below, you can see that I have used 50 epochs with a batch size of 10. The learning rate is a hyperparameter that determines the step size at which the model’s weights are updated during the training process. In this case, I have used a learning rate of 0.0001.

Once it is run, in the output it will give fine tune ID (Job ID).
So this job is queued in OpenAI to run.

3) Retrieve or list the fine-tuned model to verify if the model training is completed with the custom data.

If we use the “List Fine Tune” action, it will give us the status of all the job IDs that we have run previously, including the most recent one. However, if we use the “Retrieve Fine Tune” action, we will need to pass the specific fine tune ID as an input.Here I am using retrieve fine tune action.

This job goes through 4 sages. Pending, Running, Succeeded, Failed.

As shown in the screenshot below, the initial status of the model training was “pending.” The queue number started at 9 and eventually came down to 0. The model training will begin running in a few seconds. The cost of the training will depend on the number of epochs, the base model used, and the size of the training data. In this case, the training charge was 0.03 USD.

After 1-2 mins, I again run the same workflow to check the status.
This time, You can see it is running. 18 epochs completed out of 50.

Now once training is done, status will be succeeded. In the output it will give me the fine_tuned model name , which is now trained on my custom data specific to my requirements.

On the above output, you see compiled_results.csv, that contains model training results. This file also has one ID highlighted.

If you want to verify those training results, can use retrieve file content action of ChatGPT connector.

Here is the output

4) Utilize the fine-tuned model to generate completions as needed.

Same model tested again another input here

Using the process described above, we can create a custom-trained model by fine-tuning the ChatGPT base model with our company’s data. This fine-tuned model can then be used as an improved version for intelligent error handling.

One potential use case for this approach is to train the model with all of our past incident logs. By doing so, the model can identify and pinpoint specific incidents and their resolutions within our company when a similar error occurs. This can lead to better SLA adherence and be tailored specifically to our team’s needs.

Another potential use case would be to train the model with all of the metadata for our interfaces. This would allow our development and architecture teams to search for different systems, identify what type of data is being transferred from each system, and understand the different integration patterns or data transfer mechanisms being used for a specific system.

Now, let’s consider another interesting use case where we can capture runtime data and automate all the steps mentioned earlier to train the model automatically, maybe on a daily basis or as required. We can then use this fine-tuned model, trained with our system’s current data (which could be masked transaction data or infrastructure data), and make completions based on it

3 Likes

That is super cool and helpful. Folks were asking me about that, Mark.

1 Like

One more workflow using ChatGPT connector to evaluate questions in a support forum - to give guidance and to generate suggestions for resolving users’ problems might look like this:

In addition, AI can help improve the question as it asks the user to provide more details if needed. I used our platform and the Discourse API again to test the workflow.

  1. The first step - set an RSS feeds trigger which will automatically start the workflow once a new post is submitted to the TECH forums. To configure it – enter RSS Feed URL and perform a test.
  2. The second step which I did is to perform a GET API call to collect all necessary information about the question which I will pass to ChatGPT.
  3. Next, to configure the ChatGPT connector you need to provide your API key and fill out all necessary fields – in this example, the setup looks like this:

Model: text-davinci-003
Prompt: Can you answer in a human-like tone, without repeating the question and without using bullet points and too generic suggestions the following question posted in the Software AG Tech Community support forum or ask the user to provide additional details if the question doesn’t include enough information:

Title: “…" Products: … Question: …

(from the Incoming data panel add the title, tags and body of the question fetched by the API call)

max_tokens: 1500

Here is what a test input looks like:

  1. The final step is to send the ChatGPT output to the user – I do an API call and send the user a PM:

Of course, the solutions suggested by ChatGPT are not always appropriate – from the tests I did it turns out that sometimes it asks for information already included in the question. But it still can be used for receiving some guidance. Please let me know if you have any suggestions on how we can improve the prompt to receive better responses.

2 Likes

Oh, this is super cool.

I would like to have a “improve my question” button, when I post a question.

I put some words in that describe the problem and ChatGPT comes back with a much better formulated question that prompts for additional input.

I could enter my API not working and it would come back with is it on prem or webMethods.io, what release if on prem, …

That would be so cool!

:earth_africa::jigsaw::robot: Get ready for our exciting #webMethods iPaaS Puzzle Show!

Join us as we explore the power of #GenerativeAI and how the ChatGPT API Connector can augment human capabilities.
Two events, one amazing learning experience! :rocket:

Event 1: APJ/EMEA
:spiral_calendar: Fri, Apr 21, 6:00pm (AEST), 12:30pm IST, 8:00 AM (CEST)
:globe_with_meridians: Virtual event
:point_right: Register now:

Event 2: Americas/EMEA
:spiral_calendar: Fri, Apr 21, 11:00am EST, 8:00am PST, 5:00 PM (CEST)
:globe_with_meridians: Virtual event
:point_right: Register now:

Both webinars will showcase the incredible results of the “Generative AI (ChatGPT) Augmenting Human Capabilities iPaaS Puzzle.” Don’t miss this opportunity to see how AI can enhance our daily lives! :brain:

You still have time to join the fun and create your own solution. Get inspired by Tarak Konar’s intelligent error handling solution and let’s see who can come up with the most impactful innovation! :bulb:

See you at the iPaaS Puzzle Show!
:star2: All the best, Dave, Suresh, Mark, and the Community Team!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.