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("""

Build Your Own ChatGPT with OpenAI API & Gradio

""") 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()