Spaces:
Paused
Paused
import os | |
import openai | |
import gradio as gr | |
import time | |
openai.api_key = os.getenv("OPENAI_API_KEY") | |
messages = [{"role": "system", "content": 'You are my assistant, keep your answers brief. You may answer either in turkish or english depending on the previous input.'}] | |
def speak(audio): | |
global messages | |
os.rename(audio, audio + ".mp3") | |
audiofile = open(audio + ".mp3", "rb") | |
transcript = openai.Audio.transcribe("whisper-1", audiofile) #Ses çevirisi | |
messages.append({"role": "user", "content": transcript["text"]}) #Çevirilen sesin mesaja dönüşmesi | |
response = openai.ChatCompletion.create( #Chatgpt | |
model="gpt-3.5-turbo", | |
messages=messages, | |
temperature=0.7, | |
max_tokens=128, | |
top_p=1, | |
frequency_penalty=0, | |
presence_penalty=0 | |
) | |
system_message = response["choices"][0]["message"] | |
messages.append(system_message) | |
print(system_message['content']) | |
chattranscript = "" | |
for message in messages: | |
if message['role'] != 'system': | |
chattranscript += message['role'] + ": " + message['content'] + "\n\n" | |
return chattranscript | |
output = gr.Interface( | |
fn=speak, | |
inputs=gr.Audio(source="microphone", type="filepath") | |
,outputs="text") | |
output.launch() |