File size: 5,407 Bytes
acdf99b
 
 
 
8bafbfa
acdf99b
 
 
 
 
 
 
 
045c93e
acdf99b
4f669cf
acdf99b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f47d95a
acdf99b
 
f13be9d
4f669cf
935a9fd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
acdf99b
935a9fd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f13be9d
4f669cf
acdf99b
 
 
 
b41992e
acdf99b
 
 
 
 
 
 
 
 
 
 
 
9c89823
 
acdf99b
3cc65af
acdf99b
 
 
 
 
fe636f6
377f1c7
acdf99b
 
 
 
 
4f669cf
626d610
acdf99b
 
 
 
 
 
 
 
 
 
 
 
 
 
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
132
133
134
135
136
137
138

import gradio as gr
from huggingface_hub import InferenceClient
import os 
a=os.getenv('Test2')





"""
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()