QueBIT Blog

QueBIT Blog: Can ChatGPT understand Planning Analytics / TM1 Turbo Integrator script?

Written by Michael Cowie | Apr 4, 2023 2:15:00 PM

The machines are taking over, haven’t you heard? For all the legitimate concerns about Artificial Intelligence (AI) being used to generate deepfakes or write student essays, many of these AI tools can help us be more efficient and tackle repetitive or mundane tasks so that we can focus on far more interesting problems and things that we enjoy. This post focuses on newer natural language generative AI tools, specifically ChatGPT, which has been very much in the news.

QueBIT has been experimenting with tools like ChatGPT in the “labs” and one of the things I have been interested in evaluating is whether ChatGPT can help us be more productive with Planning Analytics (PA) / TM1. PA’s technology is unique in many ways, and it continues to solve all sorts of business problems new and old, even after over 20 years of existence. PA has fast Extract, Transform, and Load (ETL) capabilities with Turbo Integrator (TI) and a Rules/Feeders syntax that allows you to succinctly define complex, real-time calculations in multidimensional PA models. But both TI and Rules are often quite challenging to understand and master for PA developers: in a series of blog posts, I try to see if ChatGPT can help us be more productive when working with TI scripts!

Background

For this introductory post, let’s talk about where this idea came from. Over the last few months I have been experimenting with the following generative AI tools to see where they might (or might not) be helpful to our consulting services and software development teams at QueBIT. I have specifically been reviewing the following:

GitHub Copilot

GitHub Copilot generates software code suggestions by analyzing surrounding code and code comments. Nobody likes having to search for or rewrite the same block of code to read a selection of data from a CSV file into a data frame, and tools like this can provide a big productivity boost to programmers using practically any language!

ChatGPT

ChatGPT provides human-like responses to all kinds of human questions. It can be helpful when trying to understand or explain difficult concepts in simple terms, for instance: “Explain what a floppy disk is as if I were a child?”. It can also be used to organize our thoughts and other information in a way that helps us more quickly write things like emails (or even blog posts!). ChatGPT will rarely give you the same answer to the same question, and you can ask it to tailor specific parts of its responses.

The benefits of GitHub Copilot were obvious to me after using it for a couple weeks in a trial-- I would encourage people who write code using one of the supported development environments (including users of Python and TM1Py!) to give it a try. GitHub Copilot has its origins in technology from OpenAI, the same company behind ChatGPT, so it’s no surprise that if you ask ChatGPT to “Describe what this code is doing?” and paste in some code or a link to a code module that ChatGPT will do its best to give you a detailed description of what the code does. ChatGPT’s response to that exact question for the TM1Py “cube_load_data_from_csv.py” sample follows:

This is exciting! ChatGPT clearly knows something about Python code, and it even intuited that the “config.ini” file had credentials for an “IBM Cognos TM1 server” despite that not being explicitly stated anywhere in code or code comments.

What else do you know about PA, ChatGPT?

The technology behind PA has been existence since the 80’s, so ChatGPT’s lack of knowledge after 2021 is of no concern here. The answers you get to PA questions are, overall, pretty accurate, but it does occasionally come up with some things that are totally false:

  • Who Created TM1?

  • What language is Turbo Integrator based on? After asking ChatGPT to provide a sample TI script to update a value in a cube, it generated something that was clearly not valid TI script. I then asked ChatGPT to tell me what language its sample TI script was written in and ChatGPT responded with this:

What you are seeing in these responses from ChatGPT are examples of the phenomenon of AI “hallucinations.” Interestingly, ChatGPT has since “learned” that it was wrong about Turbo Integrator supporting VBA, but at the time of writing ChatGPT remained very confident about its false TM1 origin story even though the “creator” names it proffers often change with each new chat.

ChatGPT is designed to learn from new information, so if you correct it when it makes mistakes it should, over time, automatically improve its responses to the same sorts of questions. ChatGPT, incidentally, can correctly answer PA trivia questions like “What does TM1 stand for?” and “Was there ever a TM2?”.

In the next post in this series, we’ll look at whether or not ChatGPT can understand TI script. If you are interested in learning more about some of the tools discussed here or how to leverage other kinds of AI and automation tools in your business don’t hesitate to contact us!