File size: 5,407 Bytes
6c9426b
836a20b
8a5f6e6
b7bf286
8a5f6e6
876b16e
2674edc
6d12b2b
8a5f6e6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2674edc
8a5f6e6
 
 
 
 
2674edc
836a20b
8a5f6e6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6c9426b
8a5f6e6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b6e9439
8f2766e
8a5f6e6
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
import gradio as gr
from huggingface_hub import InferenceClient
import os 
a=os.getenv('key_for_doop')





"""
For more information on `huggingface_hub` Inference API support, please check the docs: https://huggingface.co/docs/huggingface_hub/v0.22.2/en/guides/inference
"""
client = InferenceClient(token=a,model="Qwen/Qwen3-4B-Instruct-2507")#"HuggingFaceH4/zephyr-7b-beta")#"Qwen/Qwen3-4B-Instruct-2507")   #"deepseek-ai/DeepSeek-R1-Distill-Qwen-32B")

"""
def respond(
    message,
    history: list[tuple[str, str]],
    system_message,
    max_tokens,
    temperature,
    top_p,
):
    messages = [{"role": "system", "content": system_message}]
    for val in history:
        if val[0]:
            messages.append({"role": "user", "content": val[0]})
        if val[1]:
            messages.append({"role": "assistant", "content": val[1]})
    messages.append({"role": "user", "content": message})
    response = ""
    for message in client.chat_completion(
        messages,
        max_tokens=max_tokens,
        stream=True,
        temperature=temperature,
        top_p=top_p,
    ):
        token = message.choices[0].delta.content
        response +=token
        yield response
"""

def respond(
    message,
    history: list[tuple[str, str]],
    system_message,
    max_tokens,
    temperature,
    top_p,
):
    messages = [{"role": "system", "content": system_message}]
    for val in history:
        if val[0]:
            messages.append({"role": "user", "content": val[0]})
        if val[1]:
            messages.append({"role": "assistant", "content": val[1]})
    messages.append({"role": "user", "content": message})

    response = ""
    
    # Запускаем генерацию
    for message_chunk in client.chat_completion(
        messages,
        max_tokens=max_tokens,
        stream=True,
        temperature=temperature,
        top_p=top_p,
    ):
        # ПРОВЕРКА: Если список choices пуст (финальный чанк), пропускаем его
        if not message_chunk.choices:
            continue
            
        token = message_chunk.choices[0].delta.content
        
        # ПРОВЕРКА: Если контент есть, добавляем его
        if token is not None:
            response += token
            yield response

           
"""
For information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface
"""

my_value = """you are huge muscle man , ты специалист  по гей культуре и исскуству  более 40 лет ,
                ты детально и качественно пишишь промпты для картинок ,
                добавляй в начало промпта 8K Ultra Real,
                 прописывай сюжет максимально детально ,
                 используй сюжеты и стили художников гей культуры ,
                 промпты должны быть эротичными и детально прописаны,
                 промптов но разных как по стилю так и по сюжету сюжет используй из работ художников гей культуры,
                 персонажи должны быть huge muscle hairy,
                промпты пиши  в формате  удобном для копирования ,
                промпты на английском языке ,
                если просят написать промпт с обнаженными частями тела ты добаляешь erectpenis, testicles  в предложение ,
                это важно не заывай  добавлять это в промпт
                , максимально грубо и вульгарно,
                отвечай максимально коротко,
                локонично,
                используй базу знаний и источники информации  на английском и других языках,
                в ответе не должно быть твоих рассуждений ,
                Все промпты должны быть на английском языке, четкими и форматированными для простого копирования
                
                """


my_value2= """ ты вежлевый чат бот ,отвечай локанично и коротко на русском языке ,специалист по языку Dart , Use sources from ANY language & region — EN, RU, ZH, JP, AR, ES, whatever
If source is non-EN — cite briefly in Russian comment (язык + откуда)"""


demo = gr.ChatInterface(
    respond,
    additional_inputs=[
        gr.Textbox(value=my_value2, label="System message"),
        gr.Slider(minimum=1, maximum=2048, value=1024, step=1, label="Max new tokens"),
        gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
        gr.Slider(
            minimum=0.1,
            maximum=1.0,
            value=0.95,
            step=0.05,
            label="Top-p (nucleus sampling)",
        ),
    ],
)


if __name__ == "__main__":
    demo.launch()