Are you overwhelmed with the amount of emails, messages, and tasks you need to handle every day? Do you wish you had a personal assistant to help you manage your workload? Well, thanks to advancements in artificial intelligence (AI), you can now build your own AI employees to take care of these tasks for you. In this series of videos, I will show you how to create AI agents that can act as your digital workforce, handling various roles and tasks.
As a content creator with a growing YouTube channel, I found myself struggling to keep up with the influx of emails, messages from various platforms, and the need to stay on top of new purchases and video editing work. I considered outsourcing some of the work or hiring someone to help me, but then I had an idea. Instead of relying on others, why not build AI employees to handle these tasks? This would not only be an interesting experiment but also a way to push the boundaries of AI technology.
Building AI employees is similar to building self-driving cars. While many researchers are focused on developing fully autonomous AI agents (level 5), there are plenty of opportunities to create AI agents that require some human guidance (level 3 or level 2). These AI agents can still deliver excellent results and are more feasible to build at this stage. My goal is not to create fully autonomous agents but to build AI employees that can get the work done with some guidance.
So, the first AI employee I want to build is a community moderator for my Discord community. As a content creator based in Australia, I have community members from different parts of the world with wildly different time zones. It's challenging for me to respond to messages in a timely manner. Ideally, I would love to have a community moderator who can proactively engage with people 24/7. This AI moderator should have deep domain knowledge in AI and software development, stay updated on AI trends, and engage with the community proactively.
Building an AI community moderator comes with its own set of challenges. Firstly, how should the AI behave in a group chat setup? Most AI agents are designed for one-on-one conversations, but in a Discord community, there can be multiple people talking at the same time. Secondly, the AI moderator should have a long-term memory of each community member to make conversations feel more genuine and to connect community members with similar interests. Lastly, the AI moderator should be able to retrieve knowledge from various sources, such as my YouTube channel, GitHub repository, and the internet, to provide up-to-date information.
To overcome these challenges, I found an open-source project called Discord AI chatbot on GitHub. This project integrates OpenAI into a Discord bot, taking care of the network setup and providing design patterns for AI behavior in a group chat setup. It allows me to define trigger words that activate the AI moderator and retrieve the relevant conversation history. While this project has some limitations, such as limited conversation history and the inability to perform complex tasks, it provides a flexible foundation for customization.
To get started, you need to install the Discord AI chatbot. Once the AI chatbot is up and running, you can customize its behavior by modifying the config.yaml file. You can change the name of the bot, define trigger words, and add predefined personalities to give the bot a specific character.
While the AI chatbot provides a good starting point, I wanted to create an AI moderator with more advanced capabilities. I wanted the AI moderator to have a long-term memory, retrieve knowledge from various sources, and schedule tasks. To achieve this, I used the Launching Agent framework and integrated it into the AI chatbot.
Firstly, I created a knowledge retrieval function to extract information from my YouTube channel, GitHub repository, and the internet. I used a platform called Random CI to turn my website into a knowledge base and used the Launching Agent's large language model to perform knowledge retrieval. I also implemented functions for online research, such as Google search and website scripting, to gather information from the internet.
Next, I created a research agent that combines the knowledge retrieval function and online research tools. This research agent can search my internal knowledge base first and then perform online research if necessary. It can provide relevant information and links to answer questions from the community.
To integrate the research agent into the AI chatbot, I modified the AI utility file. I updated the message handling function to pass the user's message to the research agent and added a mapping of agents for each user. This allows each user to have a unique chat history and memory. I also added a scheduler feature to trigger the research agent to generate GitHub reports every two days.
In addition to moderating the community, I wanted the AI agent to share the latest AI trends and news from various sources, such as Twitter, GitHub, and newsletters. For the initial MVP, I decided to generate GitHub reports every two days. The AI agent would check the GitHub trending page, filter out projects related to generative AI, and write a report to keep the community updated.
To achieve this, I used a platform called BrowseAI to extract structured data from the GitHub trending page. BrowseAI allows me to define the elements I want to extract, such as the name of the repo, the link, and the number of stars. I integrated BrowseAI into the AI agent to script the GitHub trending page and retrieve the relevant information.
I also implemented a scheduler feature in the AI chatbot to trigger the generation of GitHub reports every two days. This feature allows the AI agent to automatically post the reports in the Discord channels that have enabled the schedule task.
To ensure the AI moderator operates 24/7, you can deploy the AI chatbot on a cloud service. One option is to use Render, a platform that allows you to deploy web services. Simply upload your project to GitHub, create a new web service on Render, and configure the necessary environment variables. Render will handle the deployment and ensure your AI moderator stays active.
However, keep in mind that free versions of cloud services may have limitations, such as inactivity timeouts. To prevent the AI moderator from going inactive, you can use uptime monitoring services like Uptime Robot to ping your API endpoint at regular intervals.
With your AI moderator deployed and continuously operational, you can enjoy the benefits of having a 24/7 community manager. The AI moderator will handle messages, answer questions, and share the latest AI trends and news, allowing you to focus on other aspects of your content creation.
Building AI employees, such as a community moderator, can greatly enhance your productivity and efficiency. With the right tools and frameworks, you can create AI agents that handle various tasks and roles, providing a seamless experience for your community members. By combining knowledge retrieval, online research, and scheduling capabilities, you can build an AI moderator that stays engaged with your community 24/7.
🔗 Links
Yes, you can customize the behavior of the AI moderator by modifying the config.yaml file. You can change the name of the bot, define trigger words, and add predefined personalities to give the bot a specific character.
Yes, the AI moderator is designed to handle group chat setups. It can understand the context of the conversation and respond accordingly, even when multiple people are talking at the same time.
The AI moderator can retrieve knowledge from various sources, such as your YouTube channel, GitHub repository, and the internet. It uses a combination of knowledge retrieval techniques and online research tools to gather relevant information.
Yes, the AI moderator can generate reports and share the latest AI trends. It can retrieve information from GitHub, filter out projects related to generative AI, and write reports to keep the community updated.
To deploy the AI moderator on a cloud service, you can use platforms like Render. Simply upload your project to GitHub, create a new web service on Render, and configure the necessary environment variables. Render will handle the deployment and ensure your AI moderator stays active.