DEV Community

Abhinav Yadav
Abhinav Yadav

Posted on

Building a Personalised AI Chatbot with GPT and Gradio

Have you ever thought about building your own chatbot? One that can respond to whatever you say like Siri or Alexa? Well, today we are going to see how to create a cool AI chatbot using GPT and Gradio and believe me you don't need to be a tech expert to do it!

By the end of this blog you will have your own chatbot up and running . Let's get started!

What’s GPT?

Before we directly dive in building our chatbot we need to know first what is GPT. GPT stands for Generative Pre-trained Transformer. It's a type of AI that can understand human language and respond to it accordingly. Just like a smart robot.

What is Gradio?

Gradio is an amazing tool that allows you to create interactive web apps easily. With Gradio, you can easily build apps where you can input texts, images or audio. You can learn more about it in my previous blog, where I have explained it's detailed explanation.

Step 1: Install the Required Libraries

Now going to our initial step, we will install the libraries that will help us to build our first chatbot. Use these commands to install the libraries:

pip install openai gradio

  • openai: This is the library that connects to the GPT models.

  • gradio: This creates a web interface for your chatbot.

Step 2: Set Up Your OpenAI API Key

You will need an API from OpenAI to use GPT. Go to OpenAI API and sign up if you have not already. Once you are done with this step use the following code:

import openai

openai.api_key = "your-openai-api-key"

Enter fullscreen mode Exit fullscreen mode

Replace "your-openai-api-key" with your actual key.

Step 3: Create the Chatbot Logic

Now, the most important part let's create the logic for the chatbot. The bot will take user input and use GPT to generate responses.

def gpt_chatbot(user_input):
    response = openai.Completion.create(
        engine="text-davinci-003",  # You can use other engines like "gpt-3.5-turbo"
        prompt=user_input,
        max_tokens=150,
        temperature=0.7
    )
    return response.choices[0].text.strip()

Enter fullscreen mode Exit fullscreen mode
  • engine="text-davinci-003": This tells GPT which version to use.

  • prompt=user_input: The user’s message is sent to GPT as the prompt.

  • max_tokens=150: Limits the response length.

  • temperature=0.7: Controls how creative or random the responses are (higher values mean more creative).

Step 4: Build the Gradio Interface

Now time to make the interface of our chatbot. Let's make it interactive by using Gradio. This part is what makes it fun!

import gradio as gr

# Create Gradio interface
def chatbot_interface(user_input):
    return gpt_chatbot(user_input)

iface = gr.Interface(
    fn=chatbot_interface,  # The function that handles user input
    inputs="text",  # User types text
    outputs="text",  # GPT responds with text
    title="GPT Chatbot",
    description="Ask me anything! I'm your AI assistant."
)

iface.launch()

Enter fullscreen mode Exit fullscreen mode
  • inputs="text": Users will input text.

  • outputs="text": The chatbot will output text.

  • title and description: Customize the interface with a friendly title and description.

Step 5: Run Your Chatbot

Now, run the Python script. Your Gradio app will launch in a new window, and you’ll have your very own personalized chatbot! You can ask it questions, and it will respond intelligently.

Step 6: Make It Your Own

Once you have the basics set up, you can customize your chatbot to make it more unique:

  • Adjust the temperature: Want the bot to be more creative? Increase the temperature setting to make it more playful.

  • Add additional prompts: Guide the chatbot’s behavior by giving it specific instructions like “You are a helpful assistant” before each conversation.

Conclusion

Building an AI-powered chatbot is easier than ever, thanks to tools like GPT and Gradio. With just a few lines of code, you can create a fully interactive chatbot that’s ready to talk to the world. So go ahead, give it a try, and see how fun it can be!

Thank You for being till the end of the blog I hope you have learnt something valueable. Do like and share the blog and keep coding.

Thank You!

Top comments (0)