Spaces:
Running
Running
File size: 2,008 Bytes
8bd9805 97e9490 37252b1 e2d6490 8bd9805 07fa4cd c9836bc 8bd9805 6484cf9 c9836bc e2d6490 498599d c9836bc 8bd9805 c9836bc e2d6490 c9836bc 0fd6363 c9836bc 07fa4cd e2d6490 07fa4cd 8bd9805 97e9490 07fa4cd a232fa2 07fa4cd a232fa2 07fa4cd 8bd9805 |
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 |
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()
|