translator / app.py
Rooni's picture
Update app.py
6484cf9
raw
history blame
2.42 kB
import gradio as gr
import requests
import os
# Функция для отправки запроса к OpenAI GPT-3.5 Turbo
def translate_text(text, target_language):
try:
# Замените 'YOUR_OPENAI_API_KEY' на ваш API ключ от OpenAI GPT-3.5 Turbo
api_key = os.getenv("API_KEY")
# Проверка наличия текста для перевода
if not text:
return "Введите текст для перевода."
# Формирование запроса к API OpenAI
payload = {
'messages': [{'role': 'system', 'content': f'Translate the following text to {target_language}: "{text}"'}],
'max_tokens': 10000,
'model': 'gpt-3.5-turbo'
}
headers = {
"Content-Type": 'application/json',
"Authorization": f'Bearer {api_key}'
}
url = os.getenv("BASE_URL")
# Отправка запроса и получение ответа от OpenAI
response = requests.post(url, headers=headers, json=payload)
if response.status_code == 200:
return response.json()['choices'][0]['text'].strip()
else:
return f"Ошибка при переводе текста. Код ошибки: {response.status_code}"
except Exception as e:
return f"Ошибка: {str(e)}"
# Функция для создания приложения Gradio
def translate_interface(text, target_language):
translated_text = translate_text(text, target_language)
return translated_text
# Список поддерживаемых языков для выбора
languages = [
"Английский",
"Испанский",
"Французский",
# Добавьте другие языки по мере необходимости
]
# Создание интерфейса Gradio
iface = gr.Interface(
fn=translate_interface,
inputs=[
gr.Textbox(label="Введите текст"),
gr.Dropdown(languages, label="Выберите язык для перевода")
],
outputs=gr.Textbox(label="Переведенный текст"),
title="Простой переводчик",
description="Введите текст и выберите язык для перевода."
)
# Запуск приложения Gradio
iface.launch()