If you haven't heard of ChatGPT, let's start there. Full disclosure, I am late to the party myself.
I asked ChatGPT the following for fun: Explain what is ChatGPT in about 150 words. Use a casual tone.. Here is what it said:
Hey there, have you met ChatGPT yet? It's this cool language model created by OpenAI that's been making waves in the tech world. Basically, it's been trained on a ton of text data, so it's pretty good at understanding how people communicate and can generate text based on that understanding.
Think of it like having a smart friend who's always ready with an answer. You ask it a question, and it'll give you a response. You ask it to write an article, and it'll whip one up for you. It's that simple! And the best part is, ChatGPT is getting better every day. As it's exposed to more and more text data, it's able to generate even more impressive answers and text.
So, if you haven't had a chance to chat with ChatGPT yet, give it a shot! You might be surprised by how good it is. Just think of it as your new virtual writing buddy.
There is just one thing, I do not entirely agree with its self-introduction because it is too humble. Yes, it can be a writing buddy but it is so much more than that, including having some fun.
How to Use Chat GPT?
Today, ChatGPT is free for everyone. Clearly, this won't be the case for long. During this testing phase, all the usage data is used to make the models better.
For now, anyone can use ChatGPT by simply visiting the Chat GPT Login page and signing in with Google or Microsoft accounts.
But keep in mind that today, the interest in ChatGPT is huge but there aren't enough resources to meet the demand. So you may see the following message. Just keep trying.
ChatGPT Examples for Homelab
There are way more complex ChatGPT examples out there. The goal of this article is not to show the full potential of ChatGPT. That would require a book (or more probably). Rather, I dabbled with ChatGPT to see how it can make my life simpler, and here is the outcome.
1. Writing Scripts to Automate Simple Tasks
I was organizing some of my home videos and standardizing the naming. Unfortunately due to varying settings on different capturing devices, the names were all mixed up.
I found several 100 videos that were of the format IMG_XXXX.MOV.
This manual task could have taken several hours. Of course, there are tools to simplify things. But then I have to research and find a tool that could take the date of creation, which is normally embedded in the metadata of the file, and add it to the front of the file name.
So I set about doing my first exploration with ChatGPT. Here is how my conversation with ChatGPT went:
First, I asked for a bash script to include the creation date at the beginning of the file.
Then, I added one more layer to it: loop through all files in a directory and rename the files.
And finally, I asked ChatGPT to give me a script that will only impact certain files, in my case IMG_XXXX.MOV files.
Of course, I could have specified all my requirements in one go. But I wanted you to show how context-aware ChatGPT was.
I tested the bash script and voila. All files were renamed with the creation date in the front, as shown below:
Again, nothing fancy like some other ChatGPT examples on the internet, but a simple task automation to make your homelab better.
2. ChatGPT Example for Docker Compose
One of the most common examples of ChatGPT usage is for generating codes. In fact, ChatGPT gave birth to cool homelab/self-hosting projects like this one: Self-hosted Web-based PDF Editor.
On a similar note, if you asked ChatGPT to generate docker-compose snippets for some services.
If you have used my Docker Traefik guide, here is one example you might appreciate. ChatGPT's docker-compose for Traefik:
Similarly, another one for Radarr:
But it gets even more amazing. When I asked ChatGPT to modify the snippet so that port 7878 from inside the container is exposed to port 8080 of the host, ChatGPT ChatBot gave me this:
It is truly fantastic and mesmerizing how ChatGPT can understand syntaxes and context and put them together intelligently. [Read: Docker Media Server Ubuntu 22.04 with 23 Awesome Apps]
3. Debugging Code with ChatGPT
The last of the ChatGPT examples is for debugging code. This is one of the most common uses today by typical users. Let's mess up our docker-compose code intentionally and see if ChatGPT can fix it for us.
YAML indentation is one of the most common errors made by newbies getting started on Docker and Docker Compose. Notice that the indentation is wrong for the Environmental variables definition.
When I asked ChatGPT to check it for me, this is what I got:
Not perfect but still constructive. It is not the container_name block that is incorrectly indented but it is the environmental variables. But still, some guidance to steer us in the right direction. I am sure with more specific instructions or a better presentation of the question I can get better responses.
Now, one can go back and check on the feedback presented by ChatGPT.
Limitations of ChatGPT
I already spoke about the limited resource availability, which leads to not being able to use ChatGPT. In addition, OpenAI has already presented examples, capabilities, and limitations of ChatGPT.
Incorrect or Inadequate Responses
As we already saw above, while ChatGPT was able to steer us in the right direction, it could not correctly tell us where the indentation issue was in the phpMyAdmin docker-compose above.
The first ChatGPT example of a bash script was great and it served my needs perfectly. The second example was acceptable for a start. For example, the docker-compose for Traefik does not include all the different options one might need. If you are a newbie starting out, ChatGPT's suggestion can leave you more confused.
In the Radarr example, ChatGPT was able to modify the port information but not many people will be able to specify the requirements exactly. In this situation, ChatGPT was great at listening to what I wanted and doing the job for me. That is it.
Chat GPT is not a drop-in replacement
The key point is, it is important to learn the basics. You can use ChatGPT to get better or do a better job. But, in my opinion, you cannot use it to do the job entirely in the way that you want it to.
The growing power of ChatGPT will result in the elimination of some jobs. As much as I or others may be against it, this is inevitable. For example, Shutterstock is already offering images created by OpenAI-powered DALL-E 2. The best one can do is use ChatGPT to constantly get better and improve, which is the only thing in our control.
The other controversial point is, ChatGPT uses "tons of text data" to build its intelligence. Where is this data coming from? Most likely, the internet. In essence, the hard work that many creators like myself have put in to create content is being used to make it more intelligent without enough credit going back to the source of the information. Yes, Google and other companies do that too. But at least Google gives a link to the source of the information in its voice results. Compared to that, ChatGPT is designed to steal others' work and present it as its own with some embellishments.
What can I make with ChatGPT?
Using ChatGPT you can make software applications, articles, essays, speeches, language translations, and more. You can even solve complex problems. Anything that ChatGPT can't answer today is used as learning for tomorrow. So it is constantly getting better.
What are some examples of chatbots?
ChatGPT is defnitely not the first chatbot. Here are few ChatGPT alternatives: Chatsonic, Jasper, LaMDA, YouChat, Replika, Bloom, Chinchilla, Elsa Speak, Socratic, DialoGPT, etc.
What are the uses for Chat GPT?
You can write codes, explain, and debug them. You can also use ChatGPT to write articles, resumes, and jokes, solve math problems, and music. You can even use it to get relationship advice, just rant and vent, or play for fun.
How to use ChatGPT for work?
You can use ChatGPT to simplify some of your workflows in your work. For example, you can ask it to write a draft of something or proofread what you wrote or make it better by including some jokes or changing its tone. You can also ask it to find mistakes in your code or make it more efficient.
There are endless cool things you can do with ChatGPT. And as mentioned before what I showed here are peanuts compared to many interesting ChatGPT examples.
But the key takeaway is that now homelabbers can "call a friend" in case they are stuck and need immediate help. Whether it is writing a program to automate a mundane chore you do or your code is throwing an error and your eyes are too tired to see things differently.
The world is just getting started with ChatGPT. I believe, ChatGPT is one of the most disruptive innovations that is going to revolutionize many things and change the world around us, whether we like it or not. For now, let's enjoy fiddling with it and try some of the countless ChatGPT examples out there.
If you have an example of ChatGPT use that has helped you, feel free to share it with others below.