import gradio as gr import openai import subprocess import os openai.api_key = os.environ['OPENAI_API_KEY'] messages = [{"role": "system", "content": 'You are a dentist. Respond to all input with no more than 200 word.'}] def transcribe(audio): global messages audio_file = open(audio, "rb") transcript = openai.Audio.transcribe("whisper-1", audio_file) messages.append({"role": "user", "content": transcript["text"]}) response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=messages) system_message = response["choices"][0]["message"] messages.append(system_message) # subprocess.call(["say", system_message['content']]) chat_transcript = "" for message in messages: if message['role'] != 'system': chat_transcript += message['role'] + \ ": " + message['content'] + "\n\n" return chat_transcript ui = gr.Interface(fn=transcribe, inputs=gr.Audio( source="microphone", type="filepath"), outputs="text").launch() ui.launch()