translator / app.py
Rooni's picture
Update app.py
b54d6e6
raw
history blame
2.14 kB
import gradio as gr
import requests
import os
# Функция для отправки fetch запроса к OpenAI GPT-3.5-turbo
def translate_text(input_text, target_language):
# Ваш ключ API GPT-3.5-turbo
api_key = os.getenv("API_KEY")
# URL API GPT-3.5-turbo
api_url = os.getenv("BASE_URL")
# Формирование заголовков запроса
headers = {
"Content-Type": "application/json",
"Authorization": f'Bearer {api_key}'
}
# Формирование параметров запроса
data = {
'prompt': [{'role': 'system', 'content': f'Переведи пожалуйста правильно, понятно, сохраняя мысль, идеально на {target_language}: \"{input_text}\"'}],
'max_tokens': 15000,
'model': "gpt-3.5-turbo"
}
# Отправка запроса к OpenAI GPT-3.5-turbo
response = requests.post(api_url, headers=headers, json=data)
# Обработка ответа и возврат переведенного текста
if response.status_code == 200:
return response.json()["choices"][0]["text"]
else:
return f"Error {response.status_code}: {response.text}"
# Функция для создания интерфейса Gradio
def translate_interface(input_text, target_language, translate_button):
# Перевести текст только при нажатии кнопки
if translate_button.clicked:
translated_text = translate_text(input_text, target_language)
return translated_text
else:
return ""
# Создание интерфейса Gradio с использованием Button
iface = gr.Interface(
fn=translate_interface,
inputs=["text", gr.Dropdown(["English", "Spanish", "French", "German", "Italian", "Russian", "Chinese"]), gr.Button("Translate")],
outputs="text",
live=True,
title="OpenAI GPT-3.5-turbo Translator",
description="Translate text to the selected language using GPT-3.5-turbo."
)
# Запуск интерфейса Gradio
iface.launch()