Spaces:
Sleeping
Sleeping
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("""<h1><center>bhAI</center></h1> | |
""") | |
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) |