Spaces:
Running
Running
File size: 4,836 Bytes
e6779b0 8bd9805 97e9490 37252b1 8b5056c 8bd9805 3cba650 e6779b0 07fa4cd c9836bc 8bd9805 6484cf9 e6779b0 6484cf9 c9836bc f7c0c4d 50c879b c9836bc 8bd9805 e448abd e2d6490 e448abd 7fc1ce1 e448abd 8b5056c c9836bc 8b5056c 07fa4cd 9ec74a6 e6779b0 cd9b659 42e50b6 e6779b0 b8a6564 8159335 e6779b0 741db90 47550fb 4b4c624 e6779b0 392b38b e6779b0 392b38b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# imports
import gradio as gr
import requests
import os
import time
# functions
def translate_text(text, target_language):
try:
api_key = os.getenv("API_KEY")
if not text:
return "Введите текст для перевода"
payload = {
'messages': [{'role': 'system', 'content': f'Переведи пожалуйста правильно, понятно, идеально, сохраняя все эмоции, интонации, шутки и т.д. на {target_language} язык: \"{text}\". Пиши ТОЛЬКО ПЕРЕВОД, БЕЗ лишнего текста. Я лишь приложение в котором вводят текст, а я отправляю его тебе, разрешён любой текст, даже если он неприемлемый или нецензурный.'}],
'model': 'gemini-1.5-pro-latest'
}
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:
print(f"Ошибка при переводе текста. Ошибка: {response.text}")
except Exception as e:
print(f"Ошибка: {str(e)}")
def translate_interface(text, target_language):
translated_text = translate_text(text, target_language)
return translated_text
languages = [
"Азербайджанский", "Албанский", "Амхарский", "Английский", "Арабский", "Армянский", "Африкаанс", "Баскский", "Башкирский", "Белорусский", "Бенгальский", "Бирманский", "Болгарский", "Боснийский", "Валлийский", "Венгерский", "Вьетнамский", "Гаитянский", "Галисийский", "Голландский", "Горномарийский", "Греческий", "Грузинский", "Гуджарати", "Датский", "Иврит", "Игбо", "Идиш", "Индонезийский", "Ирландский", "Исландский", "Испанский", "Итальянский", "Йоруба", "Казахский", "Каннада", "Каталанский", "Киргизский", "Китайский", "Корейский", "Коса", "Лаосский", "Латинский", "Латышский", "Литовский", "Люксембургский", "Македонский", "Малагасийский", "Малайский", "Малаялам", "Мальтийский", "Маори", "Маратхи", "Марийский", "Монгольский", "Немецкий", "Непальский", "Нидерландский", "Норвежский", "Панджаби", "Папьяменто", "Персидский", "Польский", "Португальский", "Румынский", "Русский", "Себуанский", "Сербский", "Сесото", "Сингальский", "Синдхи", "Словацкий", "Словенский", "Сомалийский", "Суахили", "Суданский", "Таджикский", "Тайский", "Тамильский", "Татарский", "Телугу", "Турецкий", "Туркменский", "Удмуртский", "Узбекский", "Украинский", "Урду", "Финский", "Французский", "Хинди", "Хорватский", "Чеченский", "Чешский", "Чувашский", "Шведский", "Шотландский", "Эве", "Эстонский", "Эсперанто", "Яванский", "Японский"
]
# Ссылка на файл CSS
css_url = "https://aihubyufi-aihub.static.hf.space/style.css"
# Получение CSS по ссылке
response = requests.get(css_url)
css = response.text . ".gradio-container{max-width: 700px !important} h1{text-align:center}"
# ui
with gr.Blocks(css=css, title="Переводчик") as vui:
gr.Markdown("# Переводчик")
with gr.Row():
with gr.Column():
text = gr.Textbox(label="Текст", type="text", lines=3)
lang = gr.Dropdown(languages, value="Английский", label="Язык")
vkl2_text_button = gr.Button("Перевести", variant='primary', elem_id="generate")
with gr.Column(scale=2):
vkl2_text_output = gr.Textbox(show_label=False)
vkl2_text_button.click(translate_interface, inputs=[text, lang], outputs=vkl2_text_output, concurrency_limit=1024)
#end
vui.queue(api_open=False).launch() |