How to Build Your Own AI Chatbot With ChatGPT API: A Step-by-Step Tutorial

In a breakthrough announcement, OpenAI recently introduced the ChatGPT API to developers and the public. Particularly, the new “gpt-3.5-turbo” model, which powers ChatGPT Plus has been released at a 10x cheaper price, and it’s extremely responsive as well. Basically, OpenAI has opened the door for endless possibilities and even a non-coder can implement the new ChatGPT API and create their own AI chatbot. So in this article, we bring you a tutorial on how to build your own AI chatbot using the ChatGPT API. We have also implemented a Gradio interface so you can easily demo the AI model and share it with your friends and family. On that note, let’s go ahead and learn how to create a personalized AI with ChatGPT API.

In this tutorial, we have added step-by-step instructions to build your own AI chatbot with ChatGPT API. From setting up tools to installing libraries, and finally, creating the AI chatbot from scratch, we have included all the small details for general users here. We recommend you follow the instructions from top to bottom without skipping any part.

Things to Remember Before You Build an AI Chatbot

1. You can build a ChatGPT chatbot on any platform, whether Windows, macOS, Linux, or ChromeOS. In this article, I am using Windows 11, but the steps are nearly identical for other platforms.

2. The guide is meant for general users, and the instructions are clearly explained with examples. So even if you have a cursory knowledge of computers, you can easily create your own AI chatbot.

3. To create an AI chatbot, you don’t need a powerful computer with a beefy CPU or GPU. The heavy lifting is done by OpenAI’s API on the cloud.

Set Up the Software Environment to Create an AI Chatbot

There are a couple of tools you need to set up the environment before you can create an AI chatbot powered by ChatGPT. To briefly add, you will need Python, Pip, OpenAI, and Gradio libraries, an OpenAI API key, and a code editor like Notepad++. All these tools may seem intimidating at first, but believe me, the steps are easy and can be deployed by anyone. Now, follow the below steps.

Install Python

1. First, you need to install Python on your computer. Open this link and download the setup file for your platform.

Build Your Own AI Chatbot With ChatGPT 3.5 (2023)

2. Next, run the setup file and make sure to enable the checkbox for “Add Python.exe to PATH.” This is an extremely important step. After that, click on “Install Now” and follow the usual steps to install Python.

3. To check if Python is properly installed, open Terminal on your computer. I am using Windows Terminal on Windows, but you can also use Command Prompt. Once here, run the below command below, and it will output the Python version. On Linux or other platforms, you may have to use python3 --version instead of python --version.

python --version

Upgrade Pip

Along with Python, Pip is also installed simultaneously on your system. In this section, we will learn how to upgrade it to the latest version. In case you don’t know, Pip is the package manager for Python. Basically, it enables you to install thousands of Python libraries from the Terminal. With Pip, we can install OpenAI and Gradio libraries. Here is how to go about it.

1. Open the Terminal of your choice on your PC. As for me, I’m using the Windows Terminal. Now, run the below command to update Pip. Again, you may have to use python3 and pip3 on Linux or other platforms.

python -m pip install -U pip

Install OpenAI and Gradio Libraries

1. Now, it’s time to install the OpenAI library, which will allow us to interact with ChatGPT through their API. In the Terminal, run the below command to install the OpenAI library using Pip. If the command does not work, try running it with pip3.

pip install openai

2. After the installation is done, let’s install Gradio. Gradio allows you to quickly develop a friendly web interface so that you can demo your AI chatbot. It also lets you easily share the chatbot on the internet through a shareable link.

pip install gradio

Download a Code Editor

Finally, we need a code editor to edit some of the code. On Windows, I would recommend Notepad++ (Download). Simply download and install the program via the attached link. You can also use VS Code on any platform if you are comfortable with powerful IDEs. Other than VS Code, you can install Sublime Text (Download) on macOS and Linux.

For ChromeOS, you can use the excellent Caret app (Download) to edit the code. We are almost done setting up the software environment, and it’s time to get the OpenAI API key.

Get the OpenAI API Key For Free

Now, to create a ChatGPT-powered AI chatbot, you need an API key from OpenAI. The API key will allow you to call ChatGPT in your own interface and display the results right there. Currently, OpenAI is offering free API keys with $5 worth of free credit for the first three months. If you created your OpenAI account earlier, you may have free credit worth $18. After the free credit is exhausted, you will have to pay for the API access. But for now, it’s available to all free users.

1. Head to and create a free account. If you already have an OpenAI account, simply log in.

2. Next, click on your profile in the top-right corner and select “View API keys” from the drop-down menu.

3. Here, click on “Create new secret key” and copy the API key. Do note that you can’t copy or view the entire API key later on. So it’s strongly recommended to copy and paste the API key to a Notepad file immediately.

4. Also, do not share or display the API key in public. It’s a private key meant only for access to your account. You can also delete API keys and create multiple private keys (up to five).

Build Your Own AI Chatbot With ChatGPT API and Gradio

Finally, it’s time to deploy the AI chatbot. For this, we are using OpenAI’s latest “gpt-3.5-turbo” model, which powers GPT-3.5. It’s even more powerful than Davinci and has been trained up to September 2021. It’s also very cost-effective, more responsive than earlier models, and remembers the context of the conversation. As for the user interface, we are using Gradio to create a simple web interface that will be available both locally and on the web.

1. First, open Notepad++ (or your choice of code editor) and paste the below code. Thanks to armrrs on GitHub, I have repurposed his code and implemented the Gradio interface as well.

import openai
import gradio as gr

openai.api_key = "Your API key"

messages = [
    {"role": "system", "content": "You are a helpful and kind AI Assistant."},

def chatbot(input):
    if input:
        messages.append({"role": "user", "content": input})
        chat = openai.ChatCompletion.create(
            model="gpt-3.5-turbo", messages=messages
        reply = chat.choices[0].message.content
        messages.append({"role": "assistant", "content": reply})
        return reply

inputs = gr.inputs.Textbox(lines=7, label="Chat with AI")
outputs = gr.outputs.Textbox(label="Reply")

gr.Interface(fn=chatbot, inputs=inputs, outputs=outputs, title="AI Chatbot",
             description="Ask anything you want",

2. This is how it looks in the code editor. Make sure to replace the “Your API key” text with your own API key generated above. That’s the only change you have to make.

3. Next, click on “File” in the top menu and select “Save As…” from the drop-down menu.

4. After that, set the file name as “” and change “Save as type” to “All types” from the drop-down menu. Then, save the file to an easily-accessible location like the Desktop. You can change the name to your preference, but make sure .py is appended.

5. Now, move to the location where you saved the file ( Right-click on it and choose “Copy as path“.

6. Open the Terminal and run the below command. Simply enter python, add a space, paste the path (right-click to quickly paste), and hit Enter. Keep in mind, the file path will be different for your computer. Also, on Linux systems, you may have to use python3.

python "C:\Users\mearj\Desktop\"

7. You may get a few warnings, but ignore them. At the bottom, you will get a local and public URL. Now, copy the local URL and paste it into the web browser.

8. And that is how you build your own AI chatbot with the ChatGPT API. Your ChatGPT-powered AI chatbot is live. Now, you can ask any question you want and get answers in a jiffy. In addition to ChatGPT alternatives, you can use your own chatbot instead of the official website.

9. You can also copy the public URL and share it with your friends and family. The link will be live for 72 hours, but you also need to keep your computer turned on since the server instance is running on your computer.

10. To stop the server, move to the Terminal and press “Ctrl + C“. If it does not work, press “Ctrl + C” again.

11. To restart the AI chatbot server, simply copy the path of the file again and run the below command again (similar to step #6). Keep in mind, the local URL will be the same, but the public URL will change after every server restart.

python "C:\Users\mearj\Desktop\"

Create Your Personalized ChatGPT API-Powered Chatbot

The best part about the “gpt-3.5-turbo” model is that you can assign a role to your AI. You can make it funny, angry, or a specialist in food, tech, health, or whatever you want. You just need to make one small change in the code and it will be personalized. For example – I have created a Food AI, and here’s how:

1. Right-click on the “” file and choose “Edit with Notepad++“.

2. Here, make changes to this particular code only. Simply feed the information to the AI to assume that role. Now, save the file by pressing “Ctrl + S”.

messages = [
    {"role": "system", "content": "You are an AI specialized in Food. Do not answer anything other than food-related queries."},

3. Open Terminal and run the “” file in a similar fashion as you did above. You will get a local and public URL. Copy the local URL. If a server is already running, press “Ctrl + C” to stop it. And then restart the server again. You will have to restart the server after every change you make to the “” file.

python "C:\Users\mearj\Desktop\"

4. Open the local URL in the web browser and you will get a personalized AI chatbot that only answers food-related queries. That’s it. You can create a Doctor AI, an AI that replies like Shakespeare, which talks in morse code, anything you wish.

So this is how you can build your own AI chatbot with ChatGPT 3.5. In addition, you can personalize the “gpt-3.5-turbo” model with your own roles. The possibilities are endless with AI and you can do anything you want. Anyway, that is all from us. If you want to learn how to use ChatGPT on Android and iOS, head to our linked article. And to learn about all the cool things you can do with ChatGPT, go follow our curated article. Finally, if you are facing any issues, let us know in the comment section below. We will definitely try to help you out.

Comments 110
  • idris Olawale says:

    I created a chatbot from the scratch and I want my friends and family to have access to it,when I hosted it at GitHub I discovered that the API is a secret that shouldn’t be exposed as a result it disallowed the chatbot to work,any alternative on this?thanks

    • Mike says:

      Hello, how are you! I am reaching out wondering Did you successfully create your bit using these steps ?

  • Mathews says:

    Is it possible to train it for a customer support role?
    i want to integrate a customer support chatbot in my webpage.

  • pri says:

    Hi i need one bot with more question and answers like hi how r u like easy way answers please send any gptbot pls they said we have to use langchain in python ai

  • whebdjkw says:

    easiest way to integrate it into my own website?

  • Calhoun says:

    Followed instructions until I reached the (python “C:\Users\mearj\Desktop\”) part. I’m getting an error
    “NameError: name ‘sk’ is not defined”
    Followed all the steps, not sure what’s going wrong

  • Peter Stanford says:

    My implementation doesn’t work. I receive the following error:

    openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.

    I have checked that the UI works with both URLs, I can enter a prompt but the error is the same. I installed the appropriate API correctly in the file.

    Any suggestions as to why it allowed me to create the API key but appears to say it’s invalid because I haven’t paid for it.

    • Hielkio says:

      You are on the free plan without any quota, so you have to top up your balance with a creditcard

  • MR Graham G Scoulding says:


    This is a great guide and it works well.

    The only question I have is, is it possible to increase the response length? I can see previous comments have asked the question but I cannot find an answer.
    I have tried to change input and output size but it does not appear to make any change?

    max_input_size = 8192
    num_outputs = 8192

    Many Thanks

  • Sharyar says:

    Hi i have created chatbot as you instructed but it gives error in reply. Can you help me

  • Ajinkya says:

    Hi, i am facing below given eror in importing of packages. could you please help me out regarding.

    ImportError: cannot import name ‘BaseLanguageModel’ from ‘langchain.schema’ (C:\Users\ajinkya.deshpande\AppData\Local\anaconda3\lib\site-packages\langchain\

    Is ther any special version of package will be needed?

  • Bin says:

    is there any way to link my own domain to this chatbot? thanks.

  • dancingbush says:

    I have written the above code in .oy file in Visual Studio Code on MacOS CataLina, but getting following error:
    import openi could not be resolved
    import radio could not be resolved

    I have installed both a above, and installed Pythoin3 / pip as above.


    • kanika says:

      I have similar type of issue, I tried to run command “python -m ensurepip” and after that it resolves my error in Windows.

  • uday says:

    hello, thanks for this guide.
    But I’m getting “error” response.
    What do you suggest could be the case?

    • Mark says:


      • rohan says:

        same here, have either of you guys figured this out?

      • Lakshay Kakkar says:

        please can you paste the logs? last few lines of logs should be enough only.
        Possibly, its a ratelimit error, for this you need to check the free credits in open AI account., which might have gone exhausted and and you would have to renew it.
        Or you create a fresh account with another email address to get credits worth $5.

    • rohan says:

      i think you need to hook up a credit card to openai, before you can use its API. That’s what fixed the issue for me

    • Shehan says:


  • Darpan says:

    How to train the AI model with data set so that it can give more precise and correct answer?

  • Elance says:

    Hello, after I run the command python in the terminal (step 6) my anti-virus software quarantines a bunch of python and gradio files. Any reason why?

  • John says:

    I want to host/test this on Huggingface using Gradio. Do you have instructions on what I need to do to accomplish this?

    • Chris says:

      Hi there, have you figured this out? I am looking to do something similar. Thanks

  • Mark Alan says:

    Everything works great! I am using Ubuntu and the installation was flawless. How can I use this on a personal website embedded? I want to create a regular html and embed is this possible?

  • Javier Rebull says:

    does anyone knows how can I create a permanent server on the cloud? that I don’t need to have my computer turned on?

    thank you so much in advance


  • TradTrips says:

    Works. Explanations were crystal clear! Had this up and running in 20 minutes. Thank you for your help Arjun!

  • Hugo mejia says:

    Thanks for the tutorial, straight to the point, we’ll explained 👍 👌 👏 😀

  • Sam van Dillen says:

    Thank you for this article. I have one question.

    I want to make the chatbot personal with a logo, background, etc.

    How can I achieve this?

    Thank you in advance!

    • Martin says:

      I think you need another approach. Use Flask for example to create a webservice you can consume in another application which you can style ..

      Ask chatGPT how to alter the code for that 🙂

  • Nivedh KT says:

    can you please make another tutorial using EleutherAI/gpt-j-6B and how to train it with personal data

  • Henry Maliseli says:

    How will I implement my own CSS on this project so far

  • hendrik says:

    is it possible to open file i.e. PDF and ask to analyse it or give summary?

  • Miłosz says:

    Is there any way implement chat history into this ? I would like to see previous bot answers like in chatgpt

  • sam says:

    I did everything to the dot, and yet I get a message saying “Error” when I type anything and click Submit.
    Any thoughts on this please?

      • ffgg says:

        how can I charge my account?

      • shoots says:

        You just need to add a payment card and don’t forget to set some limits default is $120pm

      • Kuldeep singh says:

        There everything is zero

Leave a Reply