File size: 2,135 Bytes
8bd9805
97e9490
37252b1
8bd9805
97e9490
8bd9805
97e9490
8bd9805
 
97e9490
 
 
 
 
9c07401
4901ef6
97e9490
 
 
 
4901ef6
cf17670
9c07401
97e9490
8bd9805
97e9490
 
 
 
 
 
 
 
 
 
b54d6e6
e799f7f
b54d6e6
 
 
 
 
8bd9805
e799f7f
8bd9805
97e9490
53348eb
8bd9805
 
97e9490
 
8bd9805
 
97e9490
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
56
import gradio as gr
import requests
import os

# Функция для отправки fetch запроса к OpenAI GPT-3.5-turbo
def translate_text(input_text, target_language):
    # Ваш ключ API GPT-3.5-turbo
    api_key = os.getenv("API_KEY")

    # URL API GPT-3.5-turbo
    api_url = os.getenv("BASE_URL")

    # Формирование заголовков запроса
    headers = {
        "Content-Type": "application/json",
        "Authorization": f'Bearer {api_key}'
    }

    # Формирование параметров запроса
    data = {
        'prompt': [{'role': 'system', 'content': f'Переведи пожалуйста правильно, понятно, сохраняя мысль, идеально на {target_language}: \"{input_text}\"'}],
        'max_tokens': 15000,
        'model': "gpt-3.5-turbo"
    }

    # Отправка запроса к OpenAI GPT-3.5-turbo
    response = requests.post(api_url, headers=headers, json=data)

    # Обработка ответа и возврат переведенного текста
    if response.status_code == 200:
        return response.json()["choices"][0]["text"]
    else:
        return f"Error {response.status_code}: {response.text}"

# Функция для создания интерфейса Gradio
def translate_interface(input_text, target_language, translate_button):
    # Перевести текст только при нажатии кнопки
    if translate_button.clicked:
        translated_text = translate_text(input_text, target_language)
        return translated_text
    else:
        return ""

# Создание интерфейса Gradio с использованием Button
iface = gr.Interface(
    fn=translate_interface,
    inputs=["text", gr.Dropdown(["English", "Spanish", "French", "German", "Italian", "Russian", "Chinese"]), gr.Button("Translate")],
    outputs="text",
    live=True,
    title="OpenAI GPT-3.5-turbo Translator",
    description="Translate text to the selected language using GPT-3.5-turbo."
)

# Запуск интерфейса Gradio
iface.launch()