AjithKSenthil's picture
Made it so conversation history is displayed
2971e95
raw
history blame
No virus
5.22 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?
# Can you describe your relationship for me?
# 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 relationship with your father like as a kid?
# How has your relationship with your mother like as a kid?
# After asking these questions, 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()
import openai
import gradio as gr
import config
openai.api_key = config.OPENAI_API_KEY
initial_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:
Can you describe your relationship with your mother or a mother-like figure in your life?
Do you usually discuss your problems and concerns with your mother or a mother-like figure?
"""},
]
def chatbot(input):
if not hasattr(chatbot, "messages"):
chatbot.messages = initial_messages.copy()
if input:
chatbot.messages.append({"role": "user", "content": input})
chat = openai.ChatCompletion.create(
model="gpt-3.5-turbo", messages=chatbot.messages
)
reply = chat.choices[0].message.content
chatbot.messages.append({"role": "assistant", "content": reply})
conversation = ""
for message in chatbot.messages[2:]:
role = "You" if message["role"] == "user" else "AttachmentBot"
conversation += f"{role}: {message['content']}\n"
return conversation
inputs = gr.inputs.Textbox(lines=7, label="Chat with AttachmentBot")
outputs = gr.outputs.Textbox(label="Conversation")
gr.Interface(fn=chatbot, inputs=inputs, outputs=outputs, title="AttachmentBot",
description="Let me survey you about your attachment with certain people in your life, to begin enter start",
theme="compact").launch()