Building Our Own ChatGPT using Python With Source Code
Introduction:
In This article, we’ll show you how to create a chatbot using OpenAI python. OpenAI is an artificial intelligence research organization that provides a platform for building and training machine learning models. ChatGPT is one of the most popular Ai Models which can be used to generate text on the prompt.
Requirements:
To make this ChatGPT chatbot using python, make sure that you have the following:
- Python 3.x installed on your computer
- A text editor or IDE
- An OpenAI API key. You can sign up for a free API key on the OpenAI website
Required Modules:
firstly we have to install ‘openai’ Library using python also we need a ‘tkinter’ library.
To install the libraries, open a terminal or command prompt and run the following command:
pip install openai
Code Implementation:
after the installation of modules, we need to import the required modules into the program. along with that, we need an OpenAI key.
import openai
# Apply the API Key
openai.api_key = "YOUR_API_KEY"
Now we’re creating a function to generate a response from OpenAI GPT-3 Model.
# Generate a response using OpenAI GPT-3
def generate_response(prompt):
completions = openai.Completion.create(
engine="text-davinci-002",
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.5,
)
message = completions.choices[0].text
return message
The generate_response
the function used to take an input and returns a response generated by the OpenAI GPT-3 model. The openai.Completion.create
method is used to generate the response.
Next, we’ll write a function to display the response in a GUI interface
# GUI interface
def display_response():
input_text = input_field.get()
response = generate_response(input_text)
output_field.config(state='normal')
output_field.delete(1.0, tk.END)
output_field.insert(tk.END, response)
output_field.config(state='disabled')
The tkinter
library is used to create the GUI interface. the window is created using the tk.Tk()
method and named as root
. The root.title
method use to sets the title of the window, and the root.geometry
method sets the size (width, height) of the window.
tk.Entry
method use to create input, and a submit button is created using the tk.Button
method. The command
parameter of the tk.Button
the method is set to, which is the function that retrieves the input text and displays the response.
An output field is created using the tk.Text
method. The state='disabled'
parameter makes the output field read-only.
Finally, the root.mainloop()
method starts the main loop of the GUI interface.
Source Code:
# find more coding projects & free ebooks at Codewithcurious.com
import tkinter as tk
import openai
# Apply the API Key
openai.api_key = "YOUR_API_KEY"
# Generate a response using OpenAI GPT-3
def generate_response(prompt):
completions = openai.Completion.create(
engine="text-davinci-002",
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.5,
)
message = completions.choices[0].text
return message
# GUI interface
def display_response():
input_text = input_field.get()
response = generate_response(input_text)
output_field.config(state='normal')
output_field.delete(1.0, tk.END)
output_field.insert(tk.END, response)
output_field.config(state='disabled')
# Create the main window
root = tk.Tk()
root.title("OpenAI Chatbot")
root.geometry("600x700")
# Create the input field
input_field = tk.Entry(root, font=("Arial", 14))
input_field.pack(pady=10)
# Create the submit button
submit_button = tk.Button(root, text="Submit", font=("Arial", 14), command=display_response)
submit_button.pack(pady=10)
# Create the output field
output_field = tk.Text(root, font=("Arial", 14), state='disabled')
output_field.pack(pady=10)
# Start the GUI event loop
root.mainloop()
Output:
Find More Projects
Build a Quiz Game Using HTML CSS and JavaScript Introduction Hello coders, you might have played various games, but were you aware …
Emoji Catcher Game Using HTML CSS and JavaScript Introduction Hello Coders, Welcome to another new blog. In this article we’ve made a …
Typing Challenge Using HTML CSS and JavaScript Introduction Hello friends, all you developer friends are welcome to our new project. If you …
Breakout Game Using HTML CSS and JavaScript With Source Code Introduction Hello friends, welcome to today’s new blog post. All of you …
Digital and Analog Clock using HTML CSS and JavaScript Introduction : This project is a digital clock and stopwatch system, which allows …
Coffee Shop Website using HTML, CSS & JavaScript Introduction : This project is a website for coffee house business. It uses HTML …