Update app.py
Browse files
app.py
CHANGED
@@ -6,8 +6,6 @@ import cv2
|
|
6 |
import numpy as np
|
7 |
from pydub import AudioSegment
|
8 |
from langdetect import detect
|
9 |
-
from gtts import gTTS
|
10 |
-
import os
|
11 |
|
12 |
# Инициализация клиента для модели HuggingFaceH4/zephyr-7b-beta
|
13 |
client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
|
@@ -45,13 +43,6 @@ def detect_language(text):
|
|
45 |
except:
|
46 |
return "en" # По умолчанию английский
|
47 |
|
48 |
-
# Функция для преобразования текста в речь (TTS)
|
49 |
-
def text_to_speech(text, language):
|
50 |
-
tts = gTTS(text=text, lang=language, slow=False)
|
51 |
-
audio_file = "output.mp3"
|
52 |
-
tts.save(audio_file)
|
53 |
-
return audio_file
|
54 |
-
|
55 |
# Функция для обработки сообщений, истории и файлов
|
56 |
def respond(
|
57 |
message,
|
@@ -112,13 +103,6 @@ def respond(
|
|
112 |
response += token
|
113 |
yield response
|
114 |
|
115 |
-
# Сохраняем ответ для TTS
|
116 |
-
if response:
|
117 |
-
audio_file = text_to_speech(response, language)
|
118 |
-
return response, gr.Audio.update(value=audio_file, visible=True)
|
119 |
-
else:
|
120 |
-
return response, gr.Audio.update(visible=False)
|
121 |
-
|
122 |
# Функция для сброса истории чата
|
123 |
def reset_chat():
|
124 |
return []
|
@@ -150,19 +134,9 @@ with gr.Blocks() as demo:
|
|
150 |
],
|
151 |
)
|
152 |
|
153 |
-
# Аудиоплеер для TTS
|
154 |
-
audio_player = gr.Audio(label="Reader", visible=False)
|
155 |
-
|
156 |
# Привязка кнопки "Новый чат" к функции сброса истории
|
157 |
new_chat_button.click(fn=reset_chat, outputs=chat_interface.chatbot)
|
158 |
|
159 |
-
# Обновление интерфейса после ответа бота
|
160 |
-
chat_interface.chatbot.change(
|
161 |
-
fn=lambda response: (response, gr.Audio.update(visible=bool(response))),
|
162 |
-
inputs=chat_interface.chatbot,
|
163 |
-
outputs=[chat_interface.chatbot, audio_player],
|
164 |
-
)
|
165 |
-
|
166 |
# Запуск интерфейса
|
167 |
if __name__ == "__main__":
|
168 |
demo.launch()
|
|
|
6 |
import numpy as np
|
7 |
from pydub import AudioSegment
|
8 |
from langdetect import detect
|
|
|
|
|
9 |
|
10 |
# Инициализация клиента для модели HuggingFaceH4/zephyr-7b-beta
|
11 |
client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
|
|
|
43 |
except:
|
44 |
return "en" # По умолчанию английский
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
# Функция для обработки сообщений, истории и файлов
|
47 |
def respond(
|
48 |
message,
|
|
|
103 |
response += token
|
104 |
yield response
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
# Функция для сброса истории чата
|
107 |
def reset_chat():
|
108 |
return []
|
|
|
134 |
],
|
135 |
)
|
136 |
|
|
|
|
|
|
|
137 |
# Привязка кнопки "Новый чат" к функции сброса истории
|
138 |
new_chat_button.click(fn=reset_chat, outputs=chat_interface.chatbot)
|
139 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
# Запуск интерфейса
|
141 |
if __name__ == "__main__":
|
142 |
demo.launch()
|