Felguk commited on
Commit
ed126db
·
verified ·
1 Parent(s): a03904a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -1
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,