Update app.py
Browse files
app.py
CHANGED
@@ -36,6 +36,12 @@ def process_audio(file):
|
|
36 |
audio = AudioSegment.from_file(file)
|
37 |
return f"Аудио: длительность {len(audio) / 1000:.2f} секунд, частота {audio.frame_rate} Гц"
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
# Функция для определения языка текста
|
40 |
def detect_language(text):
|
41 |
try:
|
@@ -64,6 +70,8 @@ def respond(
|
|
64 |
file_info = process_video(file)
|
65 |
elif file_type in ["mp3", "wav", "ogg"]:
|
66 |
file_info = process_audio(file)
|
|
|
|
|
67 |
else:
|
68 |
file_info = "Неизвестный тип файла"
|
69 |
message += f"\n[Пользователь загрузил файл: {file.name}]\n{file_info}"
|
@@ -107,15 +115,30 @@ def respond(
|
|
107 |
def reset_chat():
|
108 |
return []
|
109 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
# Создание интерфейса с использованием ChatInterface
|
111 |
with gr.Blocks() as demo:
|
112 |
gr.Markdown("# Felguk v0")
|
113 |
-
gr.Markdown("Чат-бот Felguk v0. Отвечает на том же языке, на котором вы написали. Задавайте вопросы и загружайте файлы (PDF, изображения, видео,
|
114 |
|
115 |
# Кнопка "Новый чат"
|
116 |
with gr.Row():
|
117 |
new_chat_button = gr.Button("Новый чат", variant="secondary")
|
118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
# Интерфейс чата
|
120 |
chat_interface = gr.ChatInterface(
|
121 |
respond,
|
|
|
36 |
audio = AudioSegment.from_file(file)
|
37 |
return f"Аудио: длительность {len(audio) / 1000:.2f} секунд, частота {audio.frame_rate} Гц"
|
38 |
|
39 |
+
# Функция для обработки текстового файла
|
40 |
+
def process_txt(file):
|
41 |
+
with open(file.name, "r", encoding="utf-8") as f:
|
42 |
+
text = f.read()
|
43 |
+
return text
|
44 |
+
|
45 |
# Функция для определения языка текста
|
46 |
def detect_language(text):
|
47 |
try:
|
|
|
70 |
file_info = process_video(file)
|
71 |
elif file_type in ["mp3", "wav", "ogg"]:
|
72 |
file_info = process_audio(file)
|
73 |
+
elif file_type == "txt":
|
74 |
+
file_info = process_txt(file)
|
75 |
else:
|
76 |
file_info = "Неизвестный тип файла"
|
77 |
message += f"\n[Пользователь загрузил файл: {file.name}]\n{file_info}"
|
|
|
115 |
def reset_chat():
|
116 |
return []
|
117 |
|
118 |
+
# Функция для анализа текстового файла
|
119 |
+
def analyze_txt(file):
|
120 |
+
if file is None:
|
121 |
+
return "Файл не загружен."
|
122 |
+
text = process_txt(file)
|
123 |
+
return f"Содержимое файла:\n{text}"
|
124 |
+
|
125 |
# Создание интерфейса с использованием ChatInterface
|
126 |
with gr.Blocks() as demo:
|
127 |
gr.Markdown("# Felguk v0")
|
128 |
+
gr.Markdown("Чат-бот Felguk v0. Отвечает на том же языке, на котором вы написали. Задавайте вопросы и загружайте файлы (PDF, изображения, видео, аудио, txt)!")
|
129 |
|
130 |
# Кнопка "Новый чат"
|
131 |
with gr.Row():
|
132 |
new_chat_button = gr.Button("Новый чат", variant="secondary")
|
133 |
|
134 |
+
# Felguk Tools: Txt Analyzer
|
135 |
+
with gr.Tab("Felguk Tools"):
|
136 |
+
gr.Markdown("## Txt Analyzer")
|
137 |
+
txt_file = gr.File(label="Загрузите txt файл", file_types=[".txt"])
|
138 |
+
txt_output = gr.Textbox(label="Содержимое файла", interactive=False)
|
139 |
+
analyze_button = gr.Button("Анализировать")
|
140 |
+
analyze_button.click(fn=analyze_txt, inputs=txt_file, outputs=txt_output)
|
141 |
+
|
142 |
# Интерфейс чата
|
143 |
chat_interface = gr.ChatInterface(
|
144 |
respond,
|