Writing / Engineering notes

AI Chatbot: Using Python and Gemini API

We’ll build a web-based chatbot with Python and the Gemini API. I’ll walk through the setup and code step by step.

Read as Markdown

Video walkthrough

We’ll build a web-based chatbot with Python and the Gemini API. I’ll walk through the setup and code step by step.

Watch video ↗

Visit my YouTube Channel

We’ll build a web-based chatbot with Python and the Gemini API. I’ll walk through the setup and code step by step.

If the Python examples are new to you, the Python learning plan covers the basics you will use here.

What You’ll Need

  • IDE (I recommend Visual Studio Code)
  • Gemini API key
  • Python
  • Python libraries

Download IDE: VS code

You can use any IDE you like, but if you don’t have one, please download VS Code. It’s really powerful and easy to use. Here’s the link: https://code.visualstudio.com/download

Download IDE: VS code

Gemini API

Create a Google Cloud Project

Before we obtain an API key, we need to create a project in Google Cloud. To create a project, please follow this link: https://console.cloud.google.com/cloud-resource-manager

You can explore model prompts in the browser with the Google AI Studio tutorial before connecting the API to your app.

Create a Google Cloud Project

After the project is created, we are ready to request an API key.

Create a Google Cloud Project

To get the API key, visit https://aistudio.google.com/app/apikey and click on the “Create API key” button.

How to Get Gemini API Key

Then, select the project that you created in the previous step from the drop-down menu and click “Generate API key”.

How to Get Gemini API Key

Copy the key; we’ll need it in the next steps.

Install Python

Windows: Download the installer from https://www.python.org/downloads/windows/

Install Python

Linux (Ubuntu/Debian): Use this command in your terminal window:

Code
sudo apt-get install python3

Install Python

Install Python Libraries

For the next steps, you need to use the terminal. If you are on Windows, you can use https://apps.microsoft.com/detail/9n0dx20hk701?rtc=1&hl=en-us

Install PIP

After we set up Python, we need to set up the pip package installer for Python.

Code
sudo apt install python3-pip

Install PIP

Set Up a Virtual Environment

The next step is to set up virtual environments for our project to manage dependencies separately.

Use this command:

Code
sudo apt install python3-venv

The command python3 -m venv myprojectenv is used to create a virtual environment for a Python project:

Code
python3 -m venv myprojectenv

The command source myprojectenv/bin/activate is used to activate the virtual environment:

Code
source myprojectenv/bin/activate

Install LangChain

LangChain is a framework designed to simplify the creation of applications using large language models.

Use this command:

Code
pip install langchain-core

Install LangChain-Google-GenAI

Use this command:

Code
pip install langchain-google-genai

This package contains the LangChain integrations for Gemini through their generative-ai SDK.

Once you’ve done that, we are ready to go to the next steps.

Install Flask

Once the virtual environment is activated, we can use pip to set up Flask.

Use this command:

Code
pip install Flask

Create a ChatBot with the Python Flask Framework

First, let’s create a directory for our app.

Use these commands:

Code
mkdir myflaskapp

Code
cd myflaskapp

Inside the directory, create a file for our app and call it “app.py”.

Then add the following content:

Code
from flask import Flask

app = Flask(name)

@app.route('/')

def home():

return "Hello, Flask!"

if name == 'main':

app.run(debug=True)

To make sure that our app is working fine, let’s run it.

Use this command:

Code
python3 app.py

If everything is okay, you will be able to access your Flask app at http://127.0.0.1:5000.

Flask App

Create an HTML Page for the Flask App

You can create your own HTML or use the example provided.

Create an HTML Page for the Flask App

Create an HTML Page for the Flask App You can download it from here: https://github.com/proflead/gemini-flask-app/blob/master/web/index.html

You will need 2 JavaScript files:

Change app.py

Let’s modify our app.py file with the following code:

You can copy the code from here: https://github.com/proflead/gemini-flask-app/blob/master/app.py

Once you are ready, run this command in the project folder:

Code
python3 app.py

If you did everything correctly, you will be able to see your ChatBot.

Change app.py

Conclusion

As you can see, building a chatbot with Python and the Gemini API is not that difficult. You can further improve it by adding styles, extra functions, or even vision recognition. If you run into any issues, feel free to leave a comment explaining your problem, and I’ll try to help you.

Cheers! :)

Read next