chatgpt-clone / app.py
zachriek's picture
commit
0bd4e99
import os
import openai
import gradio as gr
from dotenv import load_dotenv
load_dotenv()
openai.api_key = os.getenv("API_KEY")
start_sequence = "\nAI: "
restart_sequence = "\nHuman: "
prompt = "The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly.\n\nHuman: Hello, who are you?\nAI: I am an AI created by OpenAI. How can I help you today?\nHuman: "
def openai_create(prompt):
response = openai.Completion.create(
model="text-davinci-003",
prompt=prompt,
temperature=0.9,
max_tokens=150,
top_p=1,
frequency_penalty=0,
presence_penalty=0,
stop=[" Human:", " AI:"]
)
return response.choices[0].text
def chatgpt_clone(input, history):
history = history or []
s = list(sum(history, ()))
s.append(input)
inp = ' '.join(s)
output = openai_create(inp)
history.append((input, output))
return history, history
block = gr.Blocks()
with block:
gr.Markdown("""<h1><center>Build Your Own ChatGPT with OpenAI API & Gradio</center></h1>
""")
chatbot = gr.Chatbot().style(color_map=("#CE6400", "#0b0f19"))
message = gr.Textbox(placeholder=prompt)
state = gr.State()
submit = gr.Button("SEND", variant="primary")
submit.click(chatgpt_clone, inputs=[
message, state], outputs=[chatbot, state])
block.launch()