Spaces:
Sleeping
Sleeping
File size: 1,258 Bytes
407d368 0617bee 407d368 |
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 |
import os
import gradio as gr
import openai
openai.api_key = os.environ.get('OPENAI_API_KEY')
with open("system-prompt.txt", encoding="utf-8") as f:
system_prompt = f.read()
def query(message: str, chat_history: list) -> str:
global system_prompt
gpt_messages = [
{"role": "system", "content": system_prompt}
]
for user_message, bot_message in chat_history:
gpt_messages.extend([
{"role": "user", "content": user_message},
{"role": "assistant", "content": bot_message},
])
gpt_messages.append({"role": "user", "content": message})
rez = openai.ChatCompletion.create(
model="gpt-4",
messages=gpt_messages,
)
return rez['choices'][0]['message']['content']
with gr.Blocks() as demo:
chatbot = gr.Chatbot(label="Awesome airlines chatbot assistant")
msg = gr.Textbox(label="message (API is turned off, message me to turn it back on)", placeholder="")
clear = gr.ClearButton([msg, chatbot])
def respond(message, chat_history: list):
bot_message = query(message, chat_history)
chat_history.append((message, bot_message))
return "", chat_history
msg.submit(respond, [msg, chatbot], [msg, chatbot])
demo.launch()
|