README / app.py
Edvin Behdadijd
Update app.py
3553314 verified
import base64
import requests
import gradio as gr
from openai import OpenAI
import os
OpenAI1 = os.getenv("OpenAI")
# کلید API خود را به جای 'your-api-key' وارد کنید
client = OpenAI(api_key=OpenAI1)
import base64
import requests
import gradio as gr
from openai import OpenAI
def process_voice_input(input_audio):
# بررسی اینکه آیا فایل صوتی به درستی به تابع ارسال شده است
if input_audio is None or not os.path.exists(input_audio):
return "No audio file received or the file path is invalid."
# خواندن فایل صوتی و تبدیل آن به base64
with open(input_audio, "rb") as audio_file:
wav_data = audio_file.read()
encoded_string = base64.b64encode(wav_data).decode('utf-8')
# ارسال فایل صوتی به مدل GPT-4 همراه با پیام متنی
completion = client.chat.completions.create(
model="gpt-4o-audio-preview",
modalities=["text", "audio"],
audio={"voice": "alloy", "format": "wav"},
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "What is in this recording?"
},
{
"type": "input_audio",
"input_audio": {
"data": encoded_string,
"format": "wav"
}
}
]
}
]
)
# تبدیل پاسخ مدل به فایل صوتی
wav_bytes = base64.b64decode(completion.choices[0].message.audio.data)
output_audio_path = "response.wav"
with open(output_audio_path, "wb") as f:
f.write(wav_bytes)
# برگرداندن فایل صوتی خروجی
return output_audio_path
# ساخت رابط کاربری با Gradio
iface = gr.Interface(
fn=process_voice_input,
inputs=gr.Audio(type="filepath"), # حذف "source" که خطا ایجاد می‌کرد
outputs=gr.Audio(type="filepath"),
title="Voice Chat with GPT-4",
description="Record a voice message and get a voice response."
)
# اجرای رابط کاربری
iface.launch()