Spaces:
Sleeping
Sleeping
| 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() |