|
import gradio as gr |
|
import openai |
|
import os |
|
openai.api_key= os.environ.get("openai.api_key") |
|
|
|
messages = [{"role": "system", "content": 'You are helpful assistant'}] |
|
|
|
def transcribe(audio): |
|
global message |
|
audio_filename_with_extension = audio + '.wav' |
|
os.rename(audio, audio_filename_with_extension) |
|
|
|
audio_file = open(audio_filename_with_extension, "rb") |
|
transcript = openai.Audio.transcriptions("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) |
|
|
|
|
|
|
|
|
|
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() |