OpenAI's chatGPT code interpreter plug-in changes everything!
It's a data scientist and coder-on-command on your AI utility belt
OpenAI’s announcement last week of their new code interpreter chatGPT plug-in has created a huge level of excitement in the AI community and for good reason. This one plug-in alone has turned AI model chatbots into coding assistants, data analysts, and Swiss-army-knife utilities for all manner of data and code munging.
This changes the AI landscape enormously. While we’ve gotten somewhat immune to the AI hype from so many amazing new releases on a weekly basis, there’s been a lot of excited response to this. It’s fair to call this the biggest recent advance in terms of potential workflow impact:
“ChatGPT code interpreter is the best product to come out of OpenAI since GPT4.”
“The new ChatGPT Code Interpreter is seriously amazing. This is another big recent AI launch that will change everything.”
This hype is driven by the how shockingly easy it is now to call upon chaptGPT to perform sophisticated tasks of data analysis, data visualization, file conversion, utility coding, and more. It’s like having a data scientist and web developer on your utility belt. Amazing!
Code interpreter is in alpha, and you need to sign up for ChatGPT Plus to get on the waitlist; only some (not including me) have access to it. Those who have it are sharing some great and interesting use cases, which we’ll share here.
Some of the use cases:
File Conversions and Coding Utilities
Riley Goodside was able to do “Basic video editing in ChatGPT, converting uploaded GIF to longer MP4 with slow zoom”
Pietro Schirano says:
“Its file uploading & downloading capabilities make it a super flexible tool for various tasks: Here it extracts colors from an image to create a palette.png.
And automatically compresses large images when running out of memory.
You can upload files up to 100MB. It can turn your images into a text file, perform OCR, can generate images, sound, animations, or do other manipulations. So rather than hunting down a utility to do each thing, it simply calls up that utility on the fly.
Code Interpreter for data analysis
“GPT-4 is the new data scientist” - @Saboo_Shubham
“I asked it to analyze a Bitcoin dataset that I downloaded with my IPhone.”
Code Interpreter for data visualization
Pater Yang loaded a CSV data file into code interpreter and decided to give it the incredibly lazy prompt: "Analyze this data and show me cool charts" and got:
He says: “This all took less than a min to generate.”
Then he “uploaded two separate datasets to see if it can do an analysis that combines the data.” He prompted it to make a scatterplot and ChatGPT merged the data and it produced a combined graph result.
Each step by itself is simple, and nothing here that a data scientist or a specific tool can’t do. But this “democratizes” access to such an analysis and visualization. It’s a challenge to data scientists and data science tools alike.
Other simple but compelling data visualizations have been the map of lighthouses we shared as the lead-in image, and one of UFO sightings shared by Patrick Blumenthal: “OpenAI's new Code Interpreter model is incredible for data visualization. I fed it an unpolished dataset of UFO sightings and it generated a fully-functioning HTML heat map for me.” He adds:
Yet another example is generating an airline delay map:
He adds: “This took less than 10 minutes, by the way.”
Coding Support
Ethan Mollick gave it this prompt:
“Hey ChatGPT Code Interpreter: Create code that would win me a science fair. I am a high schooler. Pick whatever field you want, and make sure you run the code and give me the results and how to present it. Give me visualizations, and a way to explain them. Now give me a speech.”
With this instruction, chatGPT code interpreter built and ran a KNN (K-nearest neighbors) classifier using the data science tutorial Iris classification data. While not an original project it did the whole thing, including the science project presentation.
“I think a lot of ways that we assess student performance, from science fair projects to college essays, need to change.”
“Academia is in for a wild ride” - Ethan Mollick
The Power of Python in-the-loop
ChatGPT plug-ins augment chatGPT capabilities, and the combination of natural language as an interface and ability of the LLM to generate instructions makes for a powerful capability when you can run it iteratively. Most of the ‘wow’ features shown above were cycling fast through a series of steps.
Why is it so powerful? Because the AI model calls on the software as a subroutine. with a python interpreter engine doing the work, giving it power and flexibility.
Python is a full-fledged software development language and the language of choice for machine learning, data science, and for building the very deep models that led to chatGPT. A python interpreter engine is a perfect engine for data analysis as well as many other coding tasks. LLM doesn’t just generate software code, but it can run the code as well. Putting the interpreter in the loop means you can iteratively generate, run and share code.
The code interpreter can be fed a variety of data types with a data size limit of 100Mb, much larger than context windows in AI models. This is like an AI-driven auto-run Jupyter notebook, the work-horse of data science.
But wait, there’s more! Simon Willison shows how he got code interpreter to check packages, then have chatGPT write and run programs in other programming languages, not just Python. This is not a one-off plug-in, this is a master plug-in that enables you to plug-in and execute any custom software you can think of. We have entered the Matrix: Download, plug-in, power up, and GO.
This trend of giving non-coders the power to have coding and data science on-hand is “democratizing coding and data science,” putting power in the hands of more people. If a non data-scientist runs this and the code interpreter performs erroneous analysis, is the user the wiser for it? Perhaps the needed skill-set to uses is to know enough to know the answer is right, rather than know enough to get all the details right. It’s still a lower bar, and for those who are capable of using it, clearly a 10x productivity boost.
One man’s productivity boost is another’s pink slip:
There are hundreds of top talent teams working on AI coding assistants. This demo looks like those folks will all have to delete all code/models they've written so far, and just make a wrapper around this API.
While this is disruptive, don’t count other players out just yet. There will be a space for open-source and customized versions of this plug-in, in particular if you can use the lang-chain ecosystem and open-source models to drive it.
Getting Access to code intepreter
As mentioned, chatGPT Code Interpreter plug-in is an alpha release, and you need to join the waitlist to get access to it. I haven’t been let in yet.
This is very exciting.