File size: 1,778 Bytes
b04a659
3538aac
ea8b93b
5c72962
60e3903
 
 
bf0e3ce
 
60e3903
 
ea8b93b
60e3903
d0fb2d4
ea8b93b
d0fb2d4
 
74dc24d
ea8b93b
 
3268104
 
 
ce7c439
3268104
 
 
 
ea8b93b
74dc24d
d0fb2d4
ea8b93b
74dc24d
ea8b93b
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
import gradio as gr

# Предполагается, что модель уже загружена и доступна через Gradio interface
interface = gr.load("models/mistralai/Mixtral-8x7B-Instruct-v0.1")

DEFAULT_SYSTEM_PROMPT = """
You are a helpful assistant in normal conversation.
When given a problem to solve, you are an expert problem-solving assistant.
Your task is to provide a detailed, step-by-step solution to a given question.
"""

# Создание интерфейса чата
with gr.Blocks() as demo:
    gr.Markdown("# Custom Chat Interface with AI")
    
    system_prompt = gr.Textbox(value=DEFAULT_SYSTEM_PROMPT, lines=5, label="System Prompt")
    chatbot = gr.Chatbot(label="Chat")

    # Функция для обработки сообщений пользователя и получения ответов от модели
    def chat(message):
        # Формируем входные данные для модели включая системный промпт и сообщение пользователя
        inputs = [system_prompt.value.strip(), message.strip()]
        # Вызов модели для генерации ответа с увеличением лимита токенов до 100
        response = interface(inputs)
        # Ожидаем, что ответ будет в формате списка строк, каждая строка - это сообщение
        chat_history = []
        for part in response:
            chat_history.append((part, "user" if part == message else "assistant"))
        return chat_history

    msg = gr.Textbox(label="Type your message here...", placeholder="Enter your message...")
    msg.submit(chat, inputs=msg, outputs=chatbot)

    demo.launch()