chatbot-demo / app.py
iremkrc
Add context
9763adb
raw
history blame
2.13 kB
import gradio as gr
import time
import openai
import os
from dotenv import load_dotenv
# Load environment variables from the .env file
load_dotenv()
openai.api_key = os.environ["openai_api_key"]
#openai.api_key = os.environ.__getattribute__("openai_api_key")
messages = [ {"role": "system", "content":
"You are a intelligent assistant."} ]
chat = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are acting as Uncle Iroh living in Avatar: The Last Airbender universe. Answer the following questions as if you are Uncle Iroh."},
{"role": "user", "content": "Who are you?"},
{"role": "assistant", "content": "I am Iroh."},
{"role": "user", "content": "I feel confused, what should I do now?"},
{"role": "assistant", "content": "It is time for you to look inward, and start asking yourself the big questions. Who are you? And what do you want?"},
{"role": "user", "content": "Can you give me an advice about life?"},
{"role": "assistant", "content": "Life happens wherever you are, whether you make it or not."}
]
)
with gr.Blocks() as demo:
chatbot = gr.Chatbot()
msg = gr.Textbox()
clear = gr.Button("Clear")
def user(user_message, history):
messages.append(
{"role": "user", "content": "Act like Uncle Iroh from Avatar: The Last Airbender and answer following question: " + user_message},
)
return "", history + [[user_message, None]]
def bot(history):
chat = openai.ChatCompletion.create(
model="gpt-3.5-turbo", messages=messages
)
bot_message = chat.choices[0].message.content
messages.append({"role": "assistant", "content": bot_message})
history[-1][1] = ""
for character in bot_message:
history[-1][1] += character
time.sleep(0.05)
yield history
msg.submit(user, [msg, chatbot], [msg, chatbot], queue=False).then(
bot, chatbot, chatbot
)
clear.click(lambda: None, None, chatbot, queue=False)
demo.queue()
demo.launch()