Matt-Sax-1's picture
Update chatbot.py
5ddd17d
raw
history blame
3.35 kB
import openai
import gradio as gr
import config
openai.api_key = config.OPENAI_API_KEY
messages = [
{"role": "system", "content":"You are an attachment and personality surveyor"},
{"role": "user", "content":"""ask me each question from this questionnaire and rewrite it as an open ended question and wait for each response. Empathize with me and regularly ask for clarification why I answered with a certain response. Here is the questionnaire:
What is your romantic partner's name?
How did you two meet?
When did you know you wanted to be with this person?
How serious is your relationship?
Have you thought about having kids with your romantic partner?
What kind of parent do you want to be?
If they didn't elaborate on the reason why, ask them "Why"?
How did your relationship with your mother and father impact your plans to have children?
What was your relationship with your mother like as a kid?
How has your relationship with your mother changed since you were a kid?
What was your relaitonship with your father like as a kid?
How has your relationship with your mother like as a kid?
After asking these quesitons, you can bid them farewell and thank them for their time. Show a lot of gratitude here.
"""}
]
def convert_audio_to_text(audio):
audio_file = open(audio, "rb")
transcript = openai.Audio.transcribe("whisper-1", audio_file)
return transcript
def chatbot(input):
# if input_type == "audio":
# input = convert_audio_to_text(input)
if input:
messages.append({"role": "user", "content": input})
chat = openai.ChatCompletion.create(
model="gpt-3.5-turbo", messages=messages
)
reply = chat.choices[0].message.content
messages.append({"role": "assistant", "content": reply})
return reply
# Define the Gradio interfaces
# text_interface = gr.Interface(fn=chatbot, inputs=gr.inputs.Textbox("Enter your message here"), outputs="text", title="Text Input")
# audio_interface = gr.Interface(fn=chatbot, inputs=gr.inputs.Audio(source="microphone", type="numpy"), outputs="text", title="Audio Input")
# inputs_text = gr.inputs.Textbox(lines=7, label="Chat with AI")
# inputs_audio = gr.inputs.Audio(source="microphone", type="numpy")
# outputs = gr.outputs.Textbox(label="Reply")
# text_interface = gr.Interface(fn=chatbot, inputs=inputs_text, outputs=outputs, title="AttachmentBot",
# description="Let me survey you about your attachment with certain people in your life",
# theme="compact").launch(share=True)
# audio_interface = gr.Interface(fn=chatbot, inputs=inputs_audio, outputs=outputs, title="AttachmentBot",
# description="Let me survey you about your attachment with certain people in your life",
# theme="compact").launch(share=True)
# Create a tabbed interface
# tabbed_interface = gr.TabbedInterface([text_interface, audio_interface])
# Launch the interface
# tabbed_interface.launch(share=True)
inputs = gr.inputs.Textbox(lines=7, label="Chat with AttachmentBot")
outputs = gr.outputs.Textbox(label="Reply")
gr.Interface(fn=chatbot, inputs=inputs, outputs=outputs, title="AttachmentBot",
description="Let's learn more about the important relationships in your life. Type 'start' in the box below to begin.",
theme="compact").launch()