File size: 2,273 Bytes
56da996
1afab97
fe1fdcb
56da996
1afab97
 
56da996
db5829b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1afab97
db5829b
1afab97
 
56da996
 
 
1afab97
 
db5829b
 
1afab97
6d96487
 
 
 
 
 
 
1afab97
db5829b
 
 
8922e87
 
 
db5829b
 
 
 
 
8922e87
db5829b
1afab97
6d96487
 
56da996
 
c02e53f
 
8922e87
c02e53f
8922e87
1afab97
db5829b
c02e53f
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
import gradio as gr
from gradio_client import Client
import requests

# Создаем клиент для взаимодействия с API
client = Client("llamameta/Pixtral-Large-Instruct-2411")

def respond(
    message,
    history: list[tuple[str, str]],
    system_message,
    max_tokens,
    temperature,
    top_p,
):
    # Формируем сообщения для отправки в API
    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 = client.predict(
        message=message,
        system_message=system_message,
        max_tokens=max_tokens,
        temperature=temperature,
        top_p=top_p,
        api_name="/chat"
    )
    
    yield response

# Ссылка на файл CSS
css_url = "https://neurixyufi-aihub.static.hf.space/style.css"

# Получение CSS по ссылке
response = requests.get(css_url)
css = response.text + ".gradio-container{max-width: 700px !important} h1{text-align:center}"

# Определяем интерфейс Gradio
demo = gr.ChatInterface(
    respond,
    additional_inputs=[
        gr.Textbox(value="Вы дружелюбный чат-бот, созданный balianone.com", label="Системное сообщение"),
        gr.Slider(minimum=100, maximum=18000, value=18000, step=1, label="Максимальное количество новых токенов"),
        gr.Slider(minimum=0.0, maximum=1.0, value=0.7, step=0.1, label="Температура"),
        gr.Slider(
            minimum=0.0,
            maximum=1.0,
            value=0.95,
            step=0.05,
            label="Top-p (нуклеарное сэмплирование)",
        ),
    ],
    title="Чат-бот",
    css=css
)



# Добавляем CSS для скрытия футера
demo.css = css

# Запускаем интерфейс
if __name__ == "__main__":
    demo.queue(max_size=250).launch(show_api=False, share=False)