Nefertury commited on
Commit
4ab7e58
·
verified ·
1 Parent(s): 7ae54a6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -8
app.py CHANGED
@@ -141,27 +141,41 @@ def generate_tt_reply(messages: List[Dict[str, str]]) -> str:
141
  # --- 3. Gradio интерфейс ---
142
 
143
  def chat_fn(message, history):
 
144
  messages = [{"role": "system", "content": SYS_PROMPT_TT}]
145
  for user_msg, bot_msg in history:
146
  messages.append({"role": "user", "content": ru2tt(user_msg)})
147
  messages.append({"role": "assistant", "content": ru2tt(bot_msg)})
148
-
 
149
  user_tt = ru2tt(message)
150
  messages.append({"role": "user", "content": user_tt})
151
-
 
152
  tt_reply = generate_tt_reply(messages)
153
  ru_reply = tt2ru(tt_reply)
154
-
155
- return ru_reply
156
 
157
- # Создаем и запускаем интерфейс
 
 
 
 
 
158
  with gr.Blocks(theme=gr.themes.Soft()) as demo:
159
- gr.Markdown("## Татарский Чат-Бот на базе Tweety-7B")
 
160
  chatbot = gr.Chatbot(label="Диалог", height=500)
161
- msg = gr.Textbox(label="Ваше сообщение (на русском)", placeholder="Как дела?")
162
  clear = gr.Button("🗑️ Очистить")
163
 
164
- msg.submit(chat_fn, [msg, chatbot], chatbot)
 
 
 
 
 
 
 
165
  clear.click(lambda: None, None, chatbot, queue=False)
166
 
167
  # server_name="0.0.0.0" и server_port=int(os.getenv("PORT", 7860)) важны для Render
 
141
  # --- 3. Gradio интерфейс ---
142
 
143
  def chat_fn(message, history):
144
+ # Эта часть остается без изменений: формируем историю для модели
145
  messages = [{"role": "system", "content": SYS_PROMPT_TT}]
146
  for user_msg, bot_msg in history:
147
  messages.append({"role": "user", "content": ru2tt(user_msg)})
148
  messages.append({"role": "assistant", "content": ru2tt(bot_msg)})
149
+
150
+ # Добавляем новое сообщение пользователя
151
  user_tt = ru2tt(message)
152
  messages.append({"role": "user", "content": user_tt})
153
+
154
+ # Генерируем и переводим ответ
155
  tt_reply = generate_tt_reply(messages)
156
  ru_reply = tt2ru(tt_reply)
 
 
157
 
158
+ # 1. Добавляем новый вопрос и ответ в историю, которую видит пользователь
159
+ history.append([message, ru_reply])
160
+ # 2. Возвращаем всю обновленную историю
161
+ return history
162
+
163
+ # Создаем и запускаем интерфейс (здесь тоже небольшое улучшение)
164
  with gr.Blocks(theme=gr.themes.Soft()) as demo:
165
+ gr.Markdown("## Татарский чат-бот от команды Сбера")
166
+ # Добавляем type="messages" чтобы убрать предупреждение и использовать новый формат
167
  chatbot = gr.Chatbot(label="Диалог", height=500)
168
+ msg = gr.Textbox(label="Ваше сообщение (на русском)", placeholder="Ничек хәлләр?") # Изменил placeholder на татарский для атмосферы :)
169
  clear = gr.Button("🗑️ Очистить")
170
 
171
+ def user(user_message, history):
172
+ # Эта обертка просто добавляет сообщение пользователя в чат сразу
173
+ return "", history + [[user_message, None]]
174
+
175
+ # Обновляем логику отправки сообщения
176
+ msg.submit(user, [msg, chatbot], [msg, chatbot], queue=False).then(
177
+ chat_fn, chatbot, chatbot
178
+ )
179
  clear.click(lambda: None, None, chatbot, queue=False)
180
 
181
  # server_name="0.0.0.0" и server_port=int(os.getenv("PORT", 7860)) важны для Render