import os import openai import gradio as gr openai.api_key = "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" 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.6, stop=[" Human:", " AI:"] ) return response.choices[0].text def send_message(): input_text = message.value state["conversation_history"], _ = chatgpt_clone(input_text, state["conversation_history"]) message.value = "" # clear the input textbox after sending the message submit = gr.Button("SEND", onclick=send_message) block = gr.Interface( fn=chatgpt_clone, inputs=["text", "text"], outputs=["text", "text"], inputs_layout="vertical", outputs_layout="vertical", title="bhAI", description="Talk to an AI assistant!", theme="compact", layout="vertical", article="The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly.", examples=[ ["Hello, who are you?", "I am an AI created by OpenAI. How can I help you today?"], ["What's the weather like?", "I'm not sure. Would you like me to look it up?"], ["What's your favorite color?", "I don't have a favorite color, but I like all the colors of the rainbow!"] ] ) block.set_block(submit) block.launch() 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("""

bhAI

""") chatbot = gr.Chatbot() message = gr.Textbox(placeholder=prompt) state = gr.State() submit = gr.Button("SEND") submit.click(chatgpt_clone, inputs=[message, state], outputs=[chatbot, state]) block.launch(debug = True)