ChatGPT: Let the Robot do it!

ChatGPT: Let the Robot do it!

My fellow Integration Developer Daniel Graversen has recently demonstrated what is possible with the new ChatGPT, basically an AI based QnA bot.

Seeing and trying this out by myself really astonished me and made me a bit worried at the same time! Just a few weeks ago I would not have expected AI to work so well with answering technical or other complex questions in at least the next 5-10 years. So I’m quite shocked about what is now already possible! And it makes me think how quickly this will change our work environment in the near and farther future. In particular I’m wondering how it will affect us Integration developers and the tools we’re using?

I believe a lot of what we do today will be assisted by AI tools that make things much quicker and more efficient. When starting to work on a new topic or trying to remember how we did something the last time we needed it (sounds familiar? ;-) ), we will probably spend less time Googling around for hints and potential solutions. Instead, we might type a question in ChatGTP and the bot will produce an apparently often pretty accurate and helpful answer within seconds. We will always be required to use our own discernment, experience and knowledge to judge the quality and plausibility of the answer. Furthermore, we will in most times have to do further research or tweak the answer (for example when it includes programming code) to come to a final conclusion or solution, but I think such bots will become good sources for suggestions, pointers and new ideas.?

A good example of a case where the bot can already produce almost ready-to-use results is the following: In addition to what Daniel documented in his article, I’d like to add one more example of how incredible the cognitive abilities of this system are and how it can speed up our daily Integration work. I wanted to see if ChatGTP can also come up with the XSLT code that defines the transformation logic between a sample of the source and destination XML documents. And of course it can! However, in some cases it needs at least two tries. It seems that a click on the “Regenerate Response” button below an answer makes ChatGTP come up with a different approach or maybe a second guess. So as mentioned above, we still need to understand what we’re doing, but can be greatly supported by this amazing tool.?

My question was the one in the screenshot below.

Note: the source of the XSLT files is the blog post "Use cases of node functions in message mapping" by Eaksiri Sontisirikul about how to implement such a mapping in the graphical message mapping editor of SAP Cloud Integration - which is something ChatGPT will most certainly never be able to do (but could probably easily be adapted, integrated into the product and trained to do so!).

Question:

No alt text provided for this image
The challenge

As you can see, the aim is to flatten the XML.?

The answer was this:?

No alt text provided for this image
Answer 1 (wrong)

This looked already quite promising at first. Impressive is also the plain text explanation below the code snippet! However, the XSLT doesn’t really work. The result of the transformation comes out as follows:?

No alt text provided for this image
Transformation result of script from answer 1

We expected four Employee elements, not two half empty ones. I could now use the result as a basis for my own modifications on the XSLT. But I first wanted to give ChatGTP another chance and clicked the Regenerate button, not really expecting a better result... But I was wrong! It's a pretty different solution and actually does exactly what I needed! See below:?

No alt text provided for this image
Answer 2 (correct)

Again also the explanation of the script is astounding.

The correct result of this XSLT is as follows:?

No alt text provided for this image
Transformation result of script from answer 2

As somebody who doesn't use XSLT every day (and probably even if), it would have definitely taken me longer to tweak the first result than just click a button and get the correct one!

I can't tell how exactly this is possible. But some hints of how the AI was trained are given here: https://help.openai.com/en/articles/6783457-chatgpt-faq

Let me know what you think about the demonstrated abilities of ChatGPT and how it will influence our work environment.

Peter Addor

Blogger und Autor bei privat

1 年

It's fun to read this article! I recently made an acquaintance with ChatGPT myself, but a little listlessly and without great expectations, because I didn't really know how and with what I could feed the AI. Well, after reading your article, I got a little smarter. Maybe I'll try some math questions. Thank you, Philippe, for this article!

Antti-Juhana M?ki

Data Engineer / Experienced Data analyst & numerical modeling specialist

1 年

Nice article Philippe, thanks for sharing! I just started to use ChatGPT, currently I just have mainly used it for learning purposes (replacing googling), but it has indeed make impression in our community to help real life work. But as Daniel mentioned, judging results is vital, and you should never forget source criticism. Anyway, year 2023 will be very interesting (and a bit scary)!

Nick Yang

SAP Architecture & Innovation

1 年

Hey Philippe, nice article about sharing your first hand experience on how AI code generation could boost developers' productivity. I built a plugin on top of a Chrome browser extension called "CPI helper". You could call OpenAI APIs (text davinci 2 or text davinci 3 or codex) via my plugin (Bring You Own Key model aka BYOK). One thing to mention is the AI model behind ChatGPT (InstructGPT with Reinforcement Learning from Human Feedback method) is similar but different than the AI models behind APIs (InstructGPT with FeedMe or PPO method). Check out my article posted on SAP community for more detail. https://blogs.sap.com/2022/12/13/how-i-use-ai-models-from-openai-in-my-sap-ci-is-development/

Daniel Graversen

I help simplifying your SAP Integration process from DevOps to PI to Integration Suite migrations

1 年

Great example Phillipe. You still need to be the judge of the result. And you would need to make the smaller samples for it to understand. But it is pretty cool that it can regenerate new response. I have also hear about other cases where it could produce more optimized code second time it create the example.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了