The following is a transcript of the video above, which walks through the different generative AI options for IT professionals.
Chris Tozzi: Hey folks, this is Chris Tozzi with ITPro Today, and I'm here to talk to you about generative AI, and particularly what IT professionals can do with generative AI. In this video, we'll briefly define what generative AI means, and then give you an overview of how IT professionals — whether they're software developers, or IT operations engineers, or cybersecurity professionals, or basically anyone else working in the IT industry — can get started taking advantage of generative AI.
Now we're going to keep things at a pretty high level. We're not going to dive deeply into how any specific generative AI tools work, although we'll take a brief look at some of the most popular tools that are available, like ChatGPT, which you see on the screen here.
In future videos, we'll dive deeper into how to use some of these specific tools. But for today, I want to, again, give you a high-level overview and help you conceptualize how you can even think about using generative AI to help you do your job better in the IT industry.
What Is Generative AI?
So let's start by defining generative AI, in case you've somehow missed it over the past year or so, which has seen an explosion of interest in generative AI technology from not just IT professionals but the public at large. "Generative AI" is a term that refers to sort of a next-generation suite of AI technologies.
AI, of course, is not new. It's been around for something like 70 or 80 years. It goes back, I think, to the early 1950s. But historically AI was good at doing things like summarizing data or making basic decisions based on preconfigured rules or policies.
Generative AI tools take AI-based decision-making and creativity to the next level by allowing AI to basically answer open-ended questions and come up with answers that are relatively original. Now there's a big asterisk on the word "original" there because, as you likely know if you know anything about generative AI, these algorithms are all trained on existing data. So the extent to which they can do anything original is based on their ability to basically synthesize or reinterpret existing data. It's not like they're coming up with totally novel ideas out there.
How IT Pros Can Take Advantage of Generative AI
We could say much more about that, but I don't want to go off on a tangent about it. So instead, let's move on and talk about how you can get started taking advantage of generative AI if you are an IT professional.
And the way I like to think about it is to break the process down into three basic steps. The first step is you have to decide what you want to do with generative AI. Now generative AI is great, and one of the things that makes it so amazing is that it's really open-ended cross domain. Modern generative AI tools can tackle virtually any kind of problem that you might want to throw at them. But that doesn't mean that they can solve at least fully on their own every problem you throw at them. So what I'm getting at here is that you can't complete every task or build anything you want using generative AI.
Related: Can AI Help Automate IT Operations?
Right now generative AI tools are best when they're dealing with relatively discrete, narrowly defined tasks. They also work best when they're dealing with tasks that don't require a lot of specific contextual knowledge. What I mean there is that a generative AI tool isn't going to understand your specific environment configuration or your specific software architecture. So right now, there's not really a good way to feed that kind of data into generative AI tools.
It would be awesome if you could take these tools and say, "Go look at my AWS config. And based on that context, which is unique to my company, I want you to go and write whatever, like write a TerraForm file or something that aligns with my bespoke configuration." But you can't really do that. That's not how these tools are designed to work right now. There might be ways that you can try to do that, but I think it would be clunky. Maybe five years from now, we'll get better at that. But right now, that's not great.
So I made that point because I think it's important to understand that if you want to use generative AI now, you first have to have a discrete task in mind. Generative AI is not going to go out and write a really complex application for you from scratch, but it can write a specific function, if you know what you want that specific function to do, for example. And then again, also, it's not going to be good at interpreting environmental context. It's best at completing tasks that don't require specific knowledge of environmental context.
Related: Experimenting with AI for Cloud Administration
Now you can provide these generative AI tools with some amount of context. You can tell them, "I want you to use these libraries, or I want the function to look like this when writing code," for example. But beyond that, again, generative AI tools have no way of going out and interpreting really holistic manner, the sort of nuanced complex environment variables that are unique to you. So they're not going to be good at completing tasks, tasks that require specific knowledge of environmental context. So there's that.
The second step in using generative AI is to define your problem in a way that generative AI tools can understand. Now, this is really important because arguably, the biggest limitation to generative AI is that the tools are only as good as the problems that you pose to them. By which I mean, if you don't define clearly what you want them to do, you're not going to get a very good answer.
People have become very excited about these tools over the last year or so because you can pose questions to them in natural language, and they can go and do amazing things. But if you don't pose your question clearly, or you don't clearly define the parameters of what you want your tools to do, then they're not going to be able to do it very well. And I'll say a little bit more about this in a moment when we look at how to use some of these specific tools. But for now, keep that in mind.
You've got to define the problem clearly, in a way that generative AI tools can understand. You've got to feed them as much context as they need to know in order to do whatever you want them to do in a way that makes sense for you.
How Do You Choose the Right Generative AI Tool?
And then the third step in using generative AI is to actually choose a tool. Now the AI market is burgeoning at the moment. There are at least dozens, possibly hundreds, of tools that have been created mostly over the last year, although some of these have a longer history, to cater to this new demand for the ability to use AI to solve every problem under the sun.
Now I'm not going to talk exhaustively about every tool that's available right now, but I will touch on a few of the most popular ones, starting with ChatGPT, which is probably the best known generative AI tool at the moment.
Now ChatGPT is interesting because the algorithm behind it isn't actually that new. But ChatGPT is kind of the tool that I think brought the public at large into awareness of the generative AI revolution when it was released in late 2022.
And I think that's the case mostly just because ChatGPT basically provided a user-friendly, nontechnical interface that you can use if you want to do various things. And so ChatGPT is probably the easiest way to pose relatively open-ended questions to generative AI technology.
And as an example, I'm going to go ahead here and say, let's say I want to write a program to validate entries on a crossword puzzle. I can go ahead and do that. I could say, "write a program in Python" because it's important to be specific to validate a crossword puzzle, and let's see what it tells me. You've got to wait a minute, and as you can see, one of the amazing things about generative AI is it just comes up with quote, unquote original answers to original questions.
And you can see here that it's writing our code, and also it's explaining what the code actually does. In this code is ... this is not the most complex Python program in the world, but it's not the most simple one either. I'm actually interested to see where it goes here. All right. Oh, that's cool. It even tells us basically how to call the program, which I guess that's valuable in case you're new to Python. So here's the whole answer.
So you can see, in this case, ChatGPT not only gives us the code we asked for, but it actually kind of explains how it works. In addition to offering comments inside the code, it's also narrates the whole program, which is really cool.
So ChatGPT is probably useful to you if you're an IT professional and you want to complete, again, a pretty discrete task. And you want an answer that not only is short and sweet, but also is explainable. So that's one way that you can access generative AI tools.
OpenAI API Playground
Another way is to use the OpenAI API Playground. So the OpenAI API Playground is something you can access through OpenAI's website, and the algorithms behind this are the same ones — or at least one of them is the same algorithm behind ChatGPT.
So the answers are going to be similar, except when you use OpenAI, you don't get as much narration as you get from ... excuse me, when you use the Playground, you don't get the same level of narration that you get from ChatGPT.
So you can see here I previously asked the OpenAI Playground to write a Python program to validate a crossword puzzle, and this is the solution it gave me, which is actually less detailed than the one that we got from ChatGPT and also with this one, there's basically no explanation given beyond a few generic comments in the code about how the program works.
So you might be thinking, why would you use the Playground when you could instead use ChatGPT? The answer, I think, is that the OpenAI Playground gives you more control over how the AI algorithms work. You can see here that you can choose from different AI models, and different ones excel at different kinds of tasks. You can also configure a bunch of other parameters here.
So if you want a lot of fine-grained control over how your answer is produced, then the Playground might be the way to go. That's especially the case if you don't care about having a lot of explanatory text, you know that sort of details. The AI is giving you the answer it is.
I will say to that you know the purpose of this Playground is to help people experiment with the OpenAI APIs. And you can basically ask these questions using APIs as well. I won't get into it now. But if you wanted to do this programmatically, you can send these queries to the OpenAI Playground. And that might be great if you need to complete a long list of tasks using generative AI. So in addition to having this Playground web-based interface, there's also a whole set of APIs. And you can read the documentation for this if you want to. It's all available from OpenAI.
So that's another way that you can take advantage of generative AI in the IT industry.
Our third way is to take advantage of tools that integrate with IDEs or that otherwise help you write code specifically. The best-known example of these tools is probably GitHub Copilot, which is a paid tool. There's a free trial available that lasts a month, but otherwise Copilot currently costs $10 a month. And to use Copilot, you first have to sign up for it on GitHub, which is easy to do. You can Google sign up for Copilot, and you can do that through your browser.
Once you sign up, you then have to integrate Copilot into an IDE. In this case, I downloaded Visual Studio code and installed the Copilot integration. Once you do that, you can start writing code, and Copilot will automatically suggest code completions based on what you start typing.
Related: GitHub Copilot vs. Amazon CodeWhisperer: What Developers Need to Know
So if I start typing a function to let's say "list a range of numbers." There it goes. I can press the tab button, and I can accept its recommendations, and this looks like Python code. That would probably run pretty well. You can see that it continues to offer autocomplete suggestions. I don't actually know where it's going there. I guess it's sort of making stuff up. This is a really simplistic example.
And if you want to use something like Copilot as opposed to a tool like ChatGPT in the IT industry, then you probably need to have a really specific code base problem in mind. In other words, Copilot is really good at writing code, and it's not good at doing anything else. And also it only works with certain languages and certain IDEs at the moment.
So basically, Copilot is great if you are a coder, but it's probably not going to help you out as much if you are working in other domains within the IT industry. It's also not going to be as useful if you are a beginning coder because to use Copilot you have to already know what you want your code to look like. Copilot is good at filling in the blank spaces within an existing outline of your application. But it's not going to be good at generating an application from scratch.
There's no way that I could use Copilot, or at least no efficient way that I could use Copilot to write the sort of Python program that we saw from ChatGPT to solve a crossword puzzle. So keep that in mind. Copilot is great if you're a coder.
So are similar solutions like Amazon CodeWhisper, which basically does the same thing, except in the Amazon ecosystem. And there are a variety of startups that have similar code-centric, or software development-centric AI tools available right now that you can experiment with. So anyway, we can go on.
Again, there's a whole universe of generative AI tools available right now, and they're changing all the time. But I've touched on some of those most basic ones here.
I will stop here because, again, I could talk forever about generative AI. And there's a lot more to say technically about how to use it, but I'll just sum up by saying, again, if you want to use it, I think you need to first figure out what you can use it for. Generative AI can do some things well. There are other things it can't do well, so you need to make sure that the tasks you want to complete fall within the wheelhouse of generative AI.
You then need to figure out how to define your problem or how to describe your problem in natural language in a way that your generative AI tool will understand. And then you have to go out and actually select a tool and input your query into it, and then read the results.
So those are the basics. I hope this was helpful. I look forward to talking more in future videos about other ways to take advantage of generative AI.
About the authorChristopher Tozzi is a technology analyst with subject matter expertise in cloud computing, application development, open source software, virtualization, containers and more. He also lectures at a major university in the Albany, New York, area. His book, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” was published by MIT Press.