Spaces:
Running
Running
File size: 4,580 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 b8a6564 e6779b0 741db90 5b58a4f 4b4c624 e6779b0 50c879b e6779b0 b8a6564 |
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 |
# 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 = """
footer {visibility: hidden !important;}
"""
# ui
with gr.Blocks(css=css, title="Переводчик") as vui:
with gr.Row():
with gr.Column():
text = gr.Textbox(label="Текст", type="text")
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() |