translator / app.py
Rooni's picture
Update app.py
e2d6490
raw
history blame
2.01 kB
import gradio as gr
import requests
import os
from langcodes import langs
def translate_text(text, target_language):
try:
api_key = os.getenv("API_KEY")
if not text:
return "Введите текст для перевода."
payload = {
'inputs': {'text': f'Переведи пожалуйста правильно, понятно, идеально, на {target_language} язык: "{text}". Пиши ТОЛЬКО перевод, без лишнего текста'},
'max_tokens': 1000000,
'model': 'gpt-3.5-turbo'
}
headers = {
"Content-Type": 'application/json',
"Authorization": f'Bearer {api_key}'
}
url = os.getenv("BASE_URL")
response = requests.post(url, headers=headers, json=payload)
if response.status_code == 200:
return response.json()['choices'][0]['message']['content'].strip()
else:
return f"Ошибка при переводе текста. Код ошибки: {response.status_code}"
except Exception as e:
return f"Ошибка: {str(e)}"
def translate_interface(text, target_language):
translated_text = translate_text(text, target_language)
return translated_text
# Получение списка языков из библиотеки langcodes
language_list = [langs.get_name(lang, 'en') for lang in langs.langs]
# Сортировка языков в алфавитном порядке
languages = sorted(language_list)
iface = gr.Interface(
fn=translate_interface,
inputs=[
gr.Textbox(label="Введите текст"),
gr.Dropdown(languages, label="Выберите язык для перевода")
],
outputs=gr.Textbox(label="Переведенный текст"),
title="Простой переводчик",
description="Введите текст и выберите язык для перевода."
)
iface.launch()