File size: 2,321 Bytes
f92a51b
 
6eccccd
ec1e4af
f8723e2
f92a51b
21608b4
d8abe74
6eccccd
23a6746
d8abe74
c8178ad
6eccccd
3528284
4562cbe
01868c2
d8abe74
c8178ad
ec1e4af
6eccccd
2ed3994
6eccccd
18f89c2
2c6863b
d74acb3
2ed3994
f8723e2
 
10954e8
f8723e2
 
10954e8
21608b4
703a36f
 
2c6863b
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
import gradio as gr
import requests
import json
import os
import time

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

    payload = {
        'messages': [{'role': 'system', 'content': f'Сгенерируй пожалуйста promt для нейросети генерирующая изображения, соенерируй по описанию \"{description}\". Должно быть описание изображения (prompt), а не просьба, приказ. Нейросеть не знает не каких персонажей, построек, городов, по этому если там будет что нибудь из этого, то опиши это отлично, понятно, идеально, в подробностях и деталях (у персонажей например подробно описывай внешность, у городов как они ввглядят, какие здания, постройки, структура, вид). В конце всегда добавляй разные: 8k, ультра детализация, ультра проработка, ультра реалистичность, anime, красиво и т.д., но что бв подходило по смыслу. Напиши ТОЛЬКО promt, без дополнительного текста, кавычек в начале и в конце.'}],
        'max_tokens': 5000,
        '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']
        print(f'Ошибка: {error_message}')
        time.sleep(1)
    else:
        print(f'Не удалось сгенерировать promt. {data}')
        time.sleep(1)

iface = gr.Interface(fn=generate_promt, inputs=[
    gr.Textbox(label="Описание")
], outputs=gr.Textbox(label="Promt"), title="Генератор prompt для нейросетей")
iface.launch()