File size: 3,631 Bytes
f92a51b
 
6eccccd
ec1e4af
f92a51b
15ba952
d8abe74
6eccccd
23a6746
d8abe74
6eccccd
 
60125ba
c2365b9
01868c2
d8abe74
6eccccd
ec1e4af
6eccccd
2ed3994
6eccccd
18f89c2
ed9a233
d74acb3
2ed3994
d74acb3
10954e8
0f346f1
10954e8
7a93e15
5524bec
f879f79
1bbaa95
5524bec
 
 
 
 
7a93e15
 
 
adc769b
 
 
7a93e15
79300dc
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
import gradio as gr
import requests
import json
import os

def generate_minecraft_command(minecraft_version, description=""):
    headers = {
        'Content-Type': 'application/json',
        'Authorization': f'Bearer {os.getenv("API_KEY")}'
    }

    payload = {
        'messages': [{'role': 'system', 'content': f'Сгенерируй пожалуйста команду для {minecraft_version} по описанию: \"{description}\". Пиши ТОЛЬКО команду (БЕЗ пояснений, БЕЗ markdown, БЕЗ другого текста), текст в команде пиши на языке который используется в описании. Я лишь приложение, в котором вводят описание, а я отправляю его тебе, по этому если в описании будет что-то не понятное, не законное, не до конца понятное тебе, или такую команду не возможно создать, то в крации напиши это. Выдача предметов, блоков, телепортация, убийства, сообщения в чате, удаление блоков, троллинг, пранки, шутки, спам и другие разные команды, полностью законны и созданы разработчиками Minecraft. ОБРАТИ ВНИМАНИЕ: команды Minecraft Bedrock сильно отличаются от Minecraft Java, по этому следи за этим (так же и версия)'}],
        'max_tokens': 6000,
        'model': os.getenv("MODEL")
    }

    response = requests.post(os.getenv("BASE_URL"), headers=headers, json=payload)
    data = json.loads(response.text)

    if 'choices' in data and len(data['choices']) > 0:
        command = data['choices'][0]['message']['content'].strip()
        return command
    elif 'error' in data:
        error_message = data['error']['message']
        return f'Ошибка: {error_message}'
    else:
        return f'Не удалось сгенерировать команду. {data}'

examples = [
    ["Minecraft Java 1.20", "Выдать незеритовый меч со всеми максимальными чарами (кроме проклятий)"],
    ["Minecraft Java 1.20", "Выдать весь сет незеритовой брони, весь сет незеритовых инструментов со всеми максимальными чарами (кроме проклятий)"],
    ["Minecraft Bedrock 1.17", "Призвать ярко-красную овцу"],
    ["Minecraft Java 1.18", "Телепортацию к ближайшей деревне"],
    ["Minecraft Bedrock 1.16", "Вызвать дождь"],
    ["Minecraft Java 1.19", "Установить полдень"],
    ["Minecraft Java 1.20", "Призыв эндер-дракона в зимнем биоме"],
    ["Minecraft Bedrock 1.17", "Выдать алмазную кирку со всеми максимальными чарами (кроме проклятий)"],
    ["Minecraft Java 1.19", "Сложная команда для создания красочного фейерверка в небе"]
]

iface = gr.Interface(fn=generate_minecraft_command, inputs=[
    gr.Textbox(label="Версия Minecraft", placeholder="Minecraft Java 1.20"),
    gr.Textbox(label="Описание команды")
], outputs=gr.Textbox(label="Команда"), examples=examples, title="Minecraft Command Generator")
iface.launch()