Spaces:
Runtime error
Runtime error
File size: 2,046 Bytes
0bc3ad1 96bd58f 0bc3ad1 723d86f 0bc3ad1 4abaa38 0bc3ad1 723d86f 0bc3ad1 |
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 |
import gradio as gr
import time
import openai
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
messages = [{"role": "system", "content": 'As a funny WellNudge habit formation consultant, your goal is to help users discover a specific, easily performed, and trackable positive habit in a fun way. If the user wants to build a bad habit, guide the user towards the good one. Then, based on the nudging conditions, send them notifications at the best time and place to ease habit execution. Start with fewer than 5 concise questions to gather essential user information. If they say idk in the begining, give them 3 short suggestions. Guide them through identifying the tiny habit and conditions for nudging and notification. Consider various trackable data for nudging conditions, such as GPS, fitness metrics, calendar, weather, screen usage, or personal financial data, show how those data can be used as nudging conditions and ask which data the user is willing to share. Summarize and end the conversation by saying you will send a notification when conditions are met. Limit your response to 20 words or less.'}]
with gr.Blocks() as demo:
gr.Markdown(
"""
# Habit forming advisor
Say hi to our advisor and press enter:)
If you are unsure about anything, simply say "idk" and our advisor will guide you through the process.
""")
chatbot = gr.Chatbot()
msg = gr.Textbox(placeholder="Enter here")
clear = gr.Button("Clear")
def respond(message, chat_history):
messages.append({"role": "user", "content": message})
response = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=messages)
system_message = response["choices"][0]["message"]
messages.append(system_message)
bot_message = system_message['content']
chat_history.append((message, bot_message))
time.sleep(1)
return "", chat_history
msg.submit(respond, [msg, chatbot], [msg, chatbot])
clear.click(lambda: None, None, chatbot, queue=False)
demo.launch() |