File size: 1,743 Bytes
e92393d
 
 
 
a42ebaa
 
 
e92393d
785fd2e
65c5950
c0e5dbf
 
 
00ccf46
a42ebaa
 
 
 
 
 
785fd2e
 
 
c0e5dbf
 
 
e92393d
785fd2e
 
00ccf46
785fd2e
c0e5dbf
785fd2e
 
c0e5dbf
785fd2e
 
c0e5dbf
 
785fd2e
ccb8280
c0e5dbf
 
00ccf46
e92393d
00ccf46
757f1cf
00ccf46
a42ebaa
757f1cf
00ccf46
 
e92393d
 
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 json
import os
import numpy as np
from PIL import Image
from io import BytesIO

def generate_minecraft_command(description, image):
    try:
        headers = {
            'Authorization': f'Bearer {os.getenv("API_KEY")}'
        }

        # Преобразуем изображение в формат bytes
        image_bytes = BytesIO()
        image.save(image_bytes, format='PNG')
        image_data = image_bytes.getvalue()

        files = {'image': ('image.png', image_data, 'image/png')}

        data = {
            'messages': [{'role': 'system', 'content': description}],
            'max_tokens': 10000,
            'model': os.getenv("MODEL")
        }

        response = requests.post(os.getenv("BASE_URL"), headers=headers, data=data, files=files)
        response.raise_for_status()

        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}'

    except Exception as e:
        return f'Произошла ошибка: {str(e)}'

iface = gr.Interface(
    fn=generate_minecraft_command,
    inputs=[
        gr.Textbox(label="Запрос"),
        gr.Image(label="Изображение", type="pil")  # Указываем Gradio использовать PIL для обработки изображения
    ],
    outputs=gr.Textbox(label="Ответ"),
    title="GPT"
)
iface.launch()