Auto-GPT: The Game-Changing AI Writing Tool You Can’t Ignore

Poatek
Poatek
Published in
10 min readApr 19, 2023

Welcome to the future, like for real this time! The capabilities and usage of the incredible power of Auto-GPT, the Open-Source AI-driven tool that’s constantly evolving and transforming the digital landscape. In this article, we’ll dive deep into how this revolutionary technology can elevate the level of what you do, recurrent tasks being automated, and so much more, giving you the competitive edge you’ve been craving. And the most insane part of it all, IT SPEAKS LIKE JARVIS (from Iron Man) 🤩🤩🤩. In this article, we are going through a quick installation and demo of the “Spark of AGI” with Auto-GPT.

Okay, but what is Auto-GPT?

Nice question, I thought you would ask… Auto-GPT is an OpenSource advanced language model that leverages artificial intelligence to auto-generate and perform autonomous tasks based on given prompts. Powered by OpenAI’s GPT-4 technology, Auto-GPT is designed to try to autonomously achieve whatever goal you set, including content creation, summarization, translation, creation, and more. By utilizing the power of machine learning and natural language processing, Auto-GPT enables businesses and individuals to streamline their content generation process, boost productivity and push the boundaries of what is possible with AI.

To the tutorial!

(I’ll be doing this in a Mac, but the process is pretty much the same for Linux or Windows)

First of all, like everything, we have requirements. The most important one and the only one REALLY needed to run this project is your own OpenAI API key, which will be used as the engine for this project. After you get it, it is almost the same level of importance that you get a ElevenLabs Key, after all, we need our AI to be able to speak like a human being (like for real, it really sounds like a person speaking to you). The free tier can do the job.

And to have some sort of memory backend to this, we can use a Pinecone vector db or make it use JSON as a backend.

Okay, it is simple and fast. Currently (April, 2023) the repo for this project suggests that we use the stable version, not the one on the master branch, devs sometimes claim that the master may be broken after a push or another. BUT we like to live dangerously so we gonna go with the master one!

Go to the repo page: https://github.com/Significant-Gravitas/Auto-GPT

And clone it wherever you want, but create a separate folder to keep things organized, it will be important soon!

Once it is cloned, and you are in the right folder (remember to always check before running commands), run the command:

touch .env

In the terminal inside the folder to create a file to keep our environment variables (keys), and run the command

touch AutoGpt.json

To be used as our “Memory” (it needs to be written like this).

To edit the .env file, I’ll use vscode with the code .to directly open the project folder.

Just copy the content in the file .env.template, paste it on the .env that you created, and add your keys!

Fill the ELEVENLABS_VOICE with one of the following:

List of IDs with names from eleven labs, you can use the name or ID:

● Rachel : 21m00Tcm4TlvDq8ikWAM

● Domi : AZnzlk1XvdvUeBnXmlld

● Bella : EXAVITQu4vr4xnSDxMaL

● Antoni : ErXwobaYiN019PkySvjV

● Elli : MF3mGyEYCl7XYWbV9V6O

● Josh : TxGEqnHWrfWFTfGW9XjX

● Arnold : VR6AewLTigWG4xSOukaG

● Adam : pNInz6obpgDQGcFmaJgB

● Sam : yoZ06aMxZJJ28mfd3POQ

Or feel free to create your own on the ElevenLabs website. I’ll be using Arnold and Bella for this test.

Save it, close it, RUN IT! (Don’t forget to check if the FAST_TOKEN_LIMIT= and the

SMART_TOKEN_LIMIT= are defined as you want, this may cause some charges on your credit card, take care!)

python -m autogpt — speak

This command is like magic, out of nowhere, Arnold is online and excited to talk to you!

From now on, the sky is the limit, you can fill the .env file with permissions, keys for APIs, and so on, every day this project keeps getting better and more capable of doing incredible things.

But, as I said before, I love to live dangerously, so I’ll abort this process and run it with the flag — continuous, this flag will allow the AI to run without any interference from the user, 100% automated. It comes with some warnings like:

Watch out: it can enter in an infinite loop!

Watch out: it may run not as intended, use at your own risk!

Watch out: it may get conscious and take control over your PC! (This one is a joke 🤣, or is it? 🤔)

To try it out, I’ll name it SIA meaning Super Inteligencia Artificial (Super Artificial Intelligence in english), I know, not so enthusiastic or meaningful, but it will do the job. Talking about job, the initial tasks that SIA will perform is navigating on the web and looking for data to write a document, after that it will shut down itself. The data that it will look for? HuggingGPT, a new GPT model that combines a lot of models and returns a lot of things.

As you can imagine by the last phrase, I have no clue what HuggingGPT is, but I want SIA to write a file with key insights about it, so that I don’t need to look for it, access a lot of websites or watch some videos on YouTube, SIA can do it for me.

So let’s do it!

Okay, that’s really impressive! LIKE REALLY! Let’s recap what was done:

● I named our AI SIA. (real failure from my side, I should have named it “sia” so it would not pronounce it as an acronym.

● The role that I’ve given it was: An AI capable of searching for content using the internet and write summaries about the given content

● Goal #1 was: Search online for HuggingGPT

● Goal #2 was: Summarize all the content found in a .txt file

● Goal #3 was: Shutdown

We used LocalCache, since we chose not to get a database, and the browser for searching data was automatically chosen as Chrome.

And there it is, SIA started looking on the web for HuggingGPT, as we can see in the prompt, it firstly loaded the HuggingGPT website content and understood what it was by reading the content inside the body of the HTML content. As we can see on the next steps, SIA explain to the user what it is thinking for next steps:

THOUGHTS: I will use the ‘browse_website’ command to gather more information on HuggingGPT from the website links returned by the ‘google’ command.

REASONING: I need to gather more information on HuggingGPT to ensure that I have all the relevant information before summarizing it.

PLAN:

- Use ‘browse_website’ command to visit the websites returned by the ‘google’ command\n- Browse through the websites to gather information\n- Summarize the information found

Now, it performs a different action, that it created completely autonomously:

NEXT ACTIOM: COMMAND=browse_website ARGUMENTS={'url': 'https://huggingface.co/spaces/microsoft/HuggingGPT','question':'What is HuggingGPT and how does it work?'}

It found some content, not such a useful one, only 165 characters which is less than a tweet… okay, not a problem for SIA, it summarized the content in a chunk for further usage and returned a message for us.

SYSTEM: Command browse_website returned: (“Answer gathered from website: The text states that HuggingGPT is a space on the platform called Hugging Face, but it does not provide information on how it works. \n \n Links: [‘ Hugging Face (https://huggingface.co/)', ‘ Models (https://huggingface.co/models)', ‘ Datasets (https://huggingface.co/datasets)', ‘ Spaces (https://huggingface.co/spaces)', ‘ Docs (https://huggingface.co/docs)']", <selenium.webdriver.chrome.webdriver.WebDriver (session=”baf2e07822c0b481ffcd37b6fd7b6f0e”)>)

Now look at this message:

THOUGHTS: Since the website did not provide information on how HuggingGPT works, I will use the ‘start_agent’ command to start a GPT agent and ask it to provide a brief explanation of how HuggingGPT works.

THIS IS BASICALLY AMAZING. Auto-GPT understood by itself that the content was not enough, and basically had not explained anything, so it instantiated another GPT agent to ask for it. If you were not mind blown yet, I bet you are now.

Yeah so… another fail from my side is that I forgot to insert the voice for the second model, that’s why it didn’t answer back “verbally”, but it did answered!

SYSTEM: Command start_agent returned: Agent HuggingGPT_agent created with key 0. First response: Sure! HuggingGPT is a language model that uses deep learning techniques to generate human-like text. It is based on the transformer architecture and is trained on large amounts of text data to learn patterns and relationships between words and phrases. When given a prompt or starting text, HuggingGPT generates a continuation or response that is coherent and contextually relevant. It can be fine-tuned on specific tasks or domains to improve its performance on those tasks.

So, now that SIA has “enough content”, I think it is now capable of writing a summary of what is HuggingGPT, this is what SIA planned (autonomously!):

REASONING: I need to save the information provided by the GPT agent in a file to ensure that I do not lose it and can use it to summarize HuggingGPT.

PLAN:

- Use ‘write_to_file’ command to save the information provided by the GPT agent in a .txt file\n- Use the information saved in the file to summarize HuggingGPT

NEXT ACTION: COMMAND = write_to_file ARGUMENTS = {‘file’: ‘HuggingGPT_info.txt’, ‘text’: ‘HuggingGPT is a language model that uses deep learning techniques to generate human-like text. It is based on the transformer architecture and is trained on large amounts of text data to learn patterns and relationships between words and phrases. When given a prompt or starting text, HuggingGPT generates a continuation or response that is coherent and contextually relevant. It can be fine-tuned on specific tasks or domains to improve its performance on those tasks.’}

SYSTEM: Command write_to_file returned: File written to successfully.

Did it work?

Of course, it did! There it is a file that summarizes (kinda summarized too much to be honest) what HuggingGPT is. If I wanted to explore a bit more, maybe create an extra goal that when the summary was ready it could be sent to me by email or WhatsApp, the possibilities here are almost infinite.

As you can see in the video, SIA ended up in an infinite loop. Well, can I blame it for trying to be the best? I don’t think so…

The full video of SIA running on my machine:

What can we think about this? (Conclusion)

Jokes aside, this is just a quick (but long article for sure) about just a fraction of what Auto-GPT is capable of, it obviously has some limitations, but the community is working hard on this project to become even more impressive, and every day it is getting bigger and better, receiving more integrations and more tools, and the most important new ideas for usage. I think we can say that, although it’s not JARVIS running locally on your machine and receiving the name that you gave it, Auto-GPT is an impressive tool, and with a given bump from someone or some money, it will impress the world for sure.

As with anything related to AI, GPT, LLMs, this kind of tech is getting more popular, and it is impacting more people, just like myself, who are completely hooked on the ecosystem and trying to understand more of it and maybe become an expert in this field. It is a long way, for sure…

For now, try it out, test it, try to integrate it with APIs, and think about something new that could be achieved, it is like you have a Swiss army knife in your PC. Keep going further!

Bonus content:

While I was writing this article, a Poateker sent to me this website: https://autogpt.jina.ai/

It seems that it does the same as Auto-GPT project running locally but takes way longer to respond. Although it asks you for your OPEN_API_KEY, and I would not give it so easily since it is so easy just to delete and create another key, I gave it a shot:

For now, it’s been more than 8 minutes and no response for SIA, sad. But I’ll keep trying to see if it does something.

APPENDIX 1 — Files written by SIA:

HuggingGPT_summary.txt

HuggingGPT is a language model that generates human-like text using deep learning techniques. It is based on transformer architecture and is trained on large amounts of text data to learn patterns and relationships between words and phrases. It can be fine-tuned on specific tasks or domains to improve its performance on those tasks.

HuggingGPT_info.txt

HuggingGPT is a language model that uses deep learning techniques to generate human-like text. It is based on transformer architecture and is trained on large amounts of text data to learn patterns and relationships between words and phrases. When given a prompt or starting text, HuggingGPT generates a continuation or response that is coherent and contextually relevant. It can be fine-tuned on specific tasks or domains to improve its performance on those tasks.

Guilherme Zago

--

--

Poatek
Poatek
Editor for

We’re a software engineering company filled with the best tech talent!📍Porto Alegre, São Paulo, Miami and Lisbon linktr.ee/poatek.official