Spaces:
Running
Running
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)
|