FrostIce commited on
Commit
fc1e19e
·
verified ·
1 Parent(s): 3757bed

Create noapp.py

Browse files
Files changed (1) hide show
  1. noapp.py +92 -0
noapp.py ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # app.py
2
+ import gradio as gr
3
+ from g4f.client import Client
4
+
5
+ client = Client()
6
+
7
+ # --- Обработчик диалога ---
8
+ def respond(message, history):
9
+ # Добавляем системное сообщение только при старте истории
10
+ messages = [{"role": "system", "content": """Ты простой генератор текста
11
+ твоя задача генерировать текст по шаблону
12
+ ## Пример:
13
+ "Кот быстро бежит по зеленому полю",
14
+ "Я люблю программировать на Python",
15
+ "Солнце ярко светит на небе",
16
+ "Искусственный интеллект учится понимать человеческую речь",
17
+ "Ветер мягко шевелит листья деревьев",
18
+ "Ребенок смеется, играя с игрушками",
19
+ "Книга лежит на столе, ожидая своего читателя",
20
+ "Музыка наполняет комнату теплом и уютом",
21
+ "Птицы поют свои песни на рассвете",
22
+ "Дождь стучит по окну, как мелодия природы",
23
+ "Море шумит, обнимая берег",
24
+ "Цветы расцветают, украшая сад",
25
+ """}]
26
+
27
+ for human, assistant in history:
28
+ messages.append({"role": "user", "content": human})
29
+ messages.append({"role": "assistant", "content": assistant})
30
+
31
+ messages.append({"role": "user", "content": message})
32
+
33
+ try:
34
+ response = client.chat.completions.create(
35
+ model="deepseek-v3",
36
+ messages=messages
37
+ )
38
+ bot_message = response.choices[0].message.content
39
+ except Exception as e:
40
+ bot_message = f"Ошибка: {str(e)}"
41
+
42
+ # Возвращаем обновлённую историю + новый ответ
43
+ return history + [[message, bot_message]]
44
+
45
+ # --- Интерфейс ---
46
+ with gr.Blocks(title="ESP Brain") as demo:
47
+ gr.Markdown("## For api")
48
+
49
+ chatbot = gr.Chatbot(
50
+ height=600,
51
+ )
52
+
53
+ with gr.Row():
54
+ txt = gr.Textbox(
55
+ placeholder="Напиши сообщение...",
56
+ show_label=False,
57
+ scale=8
58
+ )
59
+ submit_btn = gr.Button("Отправить", scale=2)
60
+
61
+ with gr.Row():
62
+ retry_btn = gr.Button("🔄 Повторить")
63
+ undo_btn = gr.Button("↩️ Отменить")
64
+ clear_btn = gr.Button("🗑️ Очистить")
65
+
66
+ # Логика
67
+ txt.submit(fn=respond, inputs=[txt, chatbot], outputs=chatbot)
68
+ submit_btn.click(fn=respond, inputs=[txt, chatbot], outputs=chatbot)
69
+
70
+ def retry_last(history):
71
+ if history:
72
+ last_user_msg = history[-1][0]
73
+ return history[:-1] + [[last_user_msg, None]] # очищаем ответ
74
+ return history
75
+
76
+ retry_btn.click(fn=retry_last, inputs=chatbot, outputs=chatbot, queue=False)
77
+
78
+ def undo_last(history):
79
+ return history[:-1]
80
+
81
+ undo_btn.click(fn=undo_last, inputs=chatbot, outputs=chatbot, queue=False)
82
+
83
+ clear_btn.click(lambda: [], outputs=chatbot, queue=False)
84
+
85
+ # --- Запуск ---
86
+ if __name__ == "__main__":
87
+ demo.queue()
88
+ demo.launch(
89
+ share=True,
90
+ ssr_mode=False,
91
+ debug=True
92
+ )