Spaces:
Runtime error
Runtime error
File size: 1,590 Bytes
30dc0cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
import gradio as gr
import openai
def get_answer_chatgpt(chat_history, message, system_message=None):
messages = []
if system_message:
TEMPLATE_SYSTEM = {"role": "system", "content": system_message}
message.append(TEMPLATE_SYSTEM)
TEMPLATE_USER = {"role": "user"}
TEMPLATE_BOT = {"role": "assistant"}
# add historical conversation
for pair in chat_history:
TEMPLATE_USER["content"] = pair[0]
TEMPLATE_BOT["content"] = pair[1]
messages.append(TEMPLATE_USER)
messages.append(TEMPLATE_BOT)
# add latest input
TEMPLATE_USER["content"] = message
messages.append(TEMPLATE_USER)
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages
)
return {
"completion": response["choices"][0]["message"]["content"],
"usage_prompt_token": response["usage"]["prompt_tokens"],
"usage_completion_token": response["usage"]["completion_tokens"]
}
with gr.Blocks() as demo:
system_prompt = gr.Textbox(placeholder="You are helpful assistence", lines=5, label="System")
message = gr.Textbox(placeholder="Please press enter to submit")
chatbot = gr.Chatbot()
clear = gr.Button("Clear")
def respond(chat_history, message):
response = get_answer_chatgpt(chat_history, message)
response = response["completion"]
return chat_history + [[message, response]]
message.submit(respond, [chatbot, message], chatbot)
clear.click(lambda: None, None, chatbot, queue=False)
demo.launch(share=True)
|