article

Monday, July 28, 2025

python tkinter chatbot google API Gemini

python tkinter chatbot google API Gemini chatbot.py
 
import tkinter as tk
from tkinter import scrolledtext, Entry, Button
import google.generativeai as genai

class SimpleChatbot:
    def __init__(self, root):
        self.root = root
        self.root.geometry("700x480") #Initial size and position
        self.root.title("Generative AI Chatbot")

        # Configure the Generative AI API with your API key
        genai.configure(api_key='AIzaSyA8ZbJrTvnMnnDOlN3HDT3cnwsZ906321654654WhQY')  # Replace with your actual API key

        # Create a model instance (adjust parameters as per documentation)
        self.model = genai.GenerativeModel(model_name="gemini-2.0-flash")  # Example model name

        # Create a scrolled text area for displaying the conversation
        self.conversation_area = scrolledtext.ScrolledText(root, wrap=tk.WORD, width=90, height=30)
        self.conversation_area.grid(column=0, row=0, padx=10, pady=10, columnspan=2)
        self.conversation_area.insert(tk.INSERT, "Chatbot: Hello! How can I help you today?\n")

        # Create an entry widget for the user to type their message
        self.user_input = Entry(root, width=60)
        self.user_input.grid(column=0, row=1, padx=10, pady=10)

        # Create a button to send the message
        self.send_button = Button(root, text="Send", command=self.send_message)
        self.send_button.grid(column=1, row=1, padx=10, pady=10)

    def send_message(self):
        user_message = self.user_input.get()
        self.conversation_area.insert(tk.INSERT, f"You: {user_message}\n")
        self.user_input.delete(0, tk.END)

        # Call the Generative AI API to get a response
        response = self.model.generate_content(user_message)  # Hypothetical method
        bot_response = f"Chatbot: {response.text}\n"
        self.conversation_area.insert(tk.INSERT, bot_response)

if __name__ == "__main__":
    root = tk.Tk()
    chatbot = SimpleChatbot(root)
    root.mainloop()

Related Post