Python is commonly used to develop AI applications, such as improving human to computer interactions, identifying trends, and making predictions. One way that Python is used for human to computer interactions is through chatbots. Chatbots use artificial intelligence and natural language processing to allow us to communicate with a computer more naturally. We interact with chatbots using text or voice commands when we are trying to contact customer service or when we are asking our Alexa or Google Home to answer a question or perform a task. Let's learn how to make AI in Python with a fun tutorial for you and your child to walk through step by step!

Enroll your child in an award-winning Python for AI class because they'll learn the elements of Python most relevant to Artificial Intelligence, including data structures and libraries.

How to Make Your First AI in Python

Today you and your child will learn how to make your first AI in Python using some basic techniques. Through this tutorial, you will get a basic understanding of how chatbots work. The chatbots you interact with everyday are pretty smart because they use additional algorithms and libraries. You can explore some examples of these at the bottom of this tutorial.

Step 1: Create a new Python program.

Let's start by accessing Replit and creating a new Python program. Click the Start Coding button on the page to sign in or create an account. You can also click the Log in or Sign up buttons in the top right corner of the website.

Once you have created an account or logged in, you can create a new Python program by clicking the Create button in the upper left corner of the page. Choose Python from the Template dropdown and give your program a name, like Python AI Chatbot.

Create a repl

To make your simple chatbot you can follow this video as well:

Step 2: Create greetings and goodbyes for your AI chatbot to use.

In Python, we can create a list that contains multiple items. Create a list called greetings and another called goodbyes. Inside a set of square brackets ( [ ] ), give your AI chatbot some greetings and goodbyes.

Create greetings

Step 3: Create keywords and responses that your AI chatbot will know.

Let's create a couple more lists of keywords and responses that your AI chatbot will know. Name these lists keywords and responses. Make sure the keywords and responses are in the same order. For example, if the user enters something containing the keyword "book", then the AI chatbot will respond with "I know about a lot of books." The keyword "book" and the response "I know about a lot of books" are both in the third position of both lists.

Python lists

Step 4: Import the random module.

We can choose a random greeting and goodbye each time the user interacts with the AI chatbot. First, we need to import the random module to include this capability in our program. At the top of your program (first line), add:

import random module

Step 5: Greet the user.

Let's choose a random greeting from the greetings list. After the lists you created, add:

Greet the user

This will choose a random greeting from the greetings list and print it.

Let's also prompt the user to enter something. We can use the input function to display a prompt to the user and get their response. We also need to store their response in a variable so we can use it in our program.

Store response

The user = user.lower() converts the user's response to lowercase and stores the lowercase version of their response in the user variable.

Step 6: Keep interacting with the user until they say "bye".

We can use a while loop to keep interacting with the user as long as they have not said "bye". This while loop will repeat its block of code as long as the user response is not "bye".

Python loop

Step 7: Check if the user's response contains a keyword the AI chatbot already knows.

Inside the while loop, we need to check if the user's response contains a keyword the AI chatbot already knows. We'll use a for loop to loop from the beginning to the end of the keywords list. If the keyword at the current position in the list is in the user's response, we'll print the corresponding response from the responses list.

Print responses

Step 8: Teach the AI chatbot a new keyword and response.

If the user's response does not contain a keyword the AI chatbot already knows, we need to teach it how to respond. Let's start by updating our while and for loops with a keyword_found variable. At the beginning of the while loop, we'll set it to false to indicate that it has not been found. In the if statement inside the for loop, we'll set the keyword_found variable to true.

New keyword and response

We'll add an if statement inside the while loop but outside of the for loop to check if keyword_found is false. If the user's response did not contain a keyword our AI chatbot already knew, we'll ask the user what keyword we should learn and how we should respond. We'll then add the new keyword and response to the keywords and responses lists using the append() function.

Add it

Step 9: Ask the user for another response.

At the end of the while loop, let's ask the user for another response.

Make AI in Python

Step 10: Choose a random goodbye when the user says "bye".

If the user says "bye", the while loop will end. Outside of the while loop, let's choose a random goodbye to display to the user when they say "bye".

Goodbye in Python

Congratulations! You've made your first AI in Python! You can make it smarter by adding more keywords and responses, exploring some of the libraries and project ideas listed below, or taking our live online Python for AI class for kids.

Python AI Source Code

Take a look at the source code for this tutorial here. You can also fork this program by clicking the Fork repl button in the upper right corner to modify and add to it.

Python Artificial Intelligence Projects For Beginners

Here are some more examples of Python AI projects using additional modules to make your chatbot smarter:

Make Your First AI in Python

You've learned how to make your first AI in Python by making a chatbot that chooses random responses from a list and keeps track of keywords and responses it learns using lists. Discover more about creating AI applications in Python and how to make your chatbot smarter with live expert guidance in award-winning Python camps and AI Explorers classes. Your child will even earn a certificate!

Up next, explore fun Python exercises.

Frequently Asked Questions about making AI in Python


How do you make a simple AI chatbot in Python?

Create four Python lists for greetings, goodbyes, keywords, and responses. Import random, print a random greeting, and collect messages from a user with input(). Use a while loop to keep chatting until the user types "bye," a for loop to find known keywords, and matching list positions to print responses. If no keyword matches, ask the user for a new keyword and reply, then add them with append().

Does this Python chatbot use AI or a large language model?

It is a simple rule-based chatbot, not a large language model. It demonstrates a basic AI interaction by matching words to prepared responses, choosing random greetings and goodbyes, and accepting new keyword-response pairs. Production chatbots are more sophisticated because they use additional algorithms, libraries, and natural language processing.

What Python skills are needed before building the chatbot?

Students should be comfortable with Python lists, variables, input(), if statements, for loops, and while loops. The project also uses list indexes, Boolean values, lower(), append(), and the random module, which are explained during the build process.

Which platform is used to build the Python chatbot?

The project uses Replit, a browser-based coding environment. Create a free account, choose a new Python project, and name it "Python AI Chatbot." Because the program runs online, there is no need to install Python or a separate editor locally.You could use a different editor if you prefer.

How does the chatbot match keywords to responses?

The chatbot stores keywords and replies in two lists that use the same order. A for loop checks whether each keyword occurs in the user's message. When it finds a match, it prints the response at the same list index. For example, a keyword such as "book" can line up with a reply such as "I know about a lot of books." You are making a search algorithm to compare values in lists and ultimately get a relevant response.

What does the random module do in the chatbot?

After importing the random module, the program can choose a random item from the greetings list when the chat begins and a random item from the goodbyes list when it ends. This adds variety so each conversation does not always open and close with the exact same text.

Why does the chatbot convert user input to lowercase?

Running user = user.lower() makes keyword matching ignore capitalization. A message containing "Book," "BOOK," or "book" becomes lowercase before the chatbot checks it, so all three versions can match the same stored keyword.

How does the while loop keep the chat running and end it?

The while loop repeats while the user's message is not "bye." Each pass checks for a keyword, prints or learns a response, and asks for another message. When the user types "bye," the condition becomes false, the loop stops, and the program prints a random goodbye outside the loop.

How does the chatbot learn a new keyword and response?

At the start of each chat turn, the program sets a variable named keyword_found to false. A known match changes it to true. If it remains false after the for loop, the chatbot asks which keyword to learn and how to respond, then uses append() to add the two values to their matching lists. The new pair works for the rest of that program session.

How can students make the Python chatbot smarter after finishing it?

Students can add more greetings, goodbyes, keywords, and responses or improve how messages are matched. They can also fork the completed project on Replit and explore natural language processing techniques and libraries. To take their skills further, they can enroll in structured programs like the Python for AI class or AI Explorers.

Written by Jamila Cocchiola who has always been fascinated with technology and its impact on the world. The technologies that emerged while she was in high school showed her all the ways software could be used to connect people, so she learned how to code so she could make her own! She went on to make a career out of developing software and apps before deciding to become a teacher to help students see the importance, benefits, and fun of computer science.