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

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -24
app.py CHANGED
@@ -122,43 +122,66 @@ def analyze_txt(file):
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,
145
- additional_inputs=[
146
- gr.Textbox(value="You are a friendly Chatbot.", label="System message"),
147
- gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
148
- gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
149
- gr.Slider(
150
- minimum=0.1,
151
- maximum=1.0,
152
- value=0.95,
153
- step=0.05,
154
- label="Top-p (nucleus sampling)",
155
- ),
156
- gr.File(label="Загрузите файл (опционально)"), # Поле для загрузки файлов
157
- ],
158
  )
159
-
160
- # Привязка кнопки "Новый чат" к функции сброса истории
161
- new_chat_button.click(fn=reset_chat, outputs=chat_interface.chatbot)
162
 
163
  # Запуск интерфейса
164
  if __name__ == "__main__":
 
122
  text = process_txt(file)
123
  return f"Содержимое файла:\n{text}"
124
 
125
+ # Создание интерфейса
126
  with gr.Blocks() as demo:
127
  gr.Markdown("# Felguk v0")
 
128
 
129
+ # Переменная для управления видимостью
130
+ current_tab = gr.State(value="chat") # По умолчанию открыт чат
131
+
132
+ # Функция для переключения вкладок
133
+ def switch_tab(tab):
134
+ return tab
135
+
136
+ # Кнопки для переключения между вкладками
137
  with gr.Row():
138
+ chat_button = gr.Button("Чат", variant="primary")
139
+ tools_button = gr.Button("Felguk Tools", variant="secondary")
140
+
141
+ # Интерфейс чата
142
+ with gr.Column(visible=True) as chat_interface:
143
+ gr.Markdown("## Чат")
144
+ chat_interface = gr.ChatInterface(
145
+ respond,
146
+ additional_inputs=[
147
+ gr.Textbox(value="You are a friendly Chatbot.", label="System message"),
148
+ gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
149
+ gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
150
+ gr.Slider(
151
+ minimum=0.1,
152
+ maximum=1.0,
153
+ value=0.95,
154
+ step=0.05,
155
+ label="Top-p (nucleus sampling)",
156
+ ),
157
+ gr.File(label="Загрузите файл (опционально)"), # Поле для загрузки файлов
158
+ ],
159
+ )
160
  new_chat_button = gr.Button("Новый чат", variant="secondary")
161
+ new_chat_button.click(fn=reset_chat, outputs=chat_interface.chatbot)
162
 
163
  # Felguk Tools: Txt Analyzer
164
+ with gr.Column(visible=False) as tools_interface:
165
+ gr.Markdown("## Felguk Tools")
166
  txt_file = gr.File(label="Загрузите txt файл", file_types=[".txt"])
167
  txt_output = gr.Textbox(label="Содержимое файла", interactive=False)
168
  analyze_button = gr.Button("Анализировать")
169
  analyze_button.click(fn=analyze_txt, inputs=txt_file, outputs=txt_output)
170
+ back_to_chat_button = gr.Button("Вернуться в чат", variant="primary")
171
 
172
+ # Логика переключения вкладок
173
+ chat_button.click(
174
+ fn=lambda: (gr.Column.update(visible=True), gr.Column.update(visible=False)),
175
+ outputs=[chat_interface, tools_interface],
176
+ )
177
+ tools_button.click(
178
+ fn=lambda: (gr.Column.update(visible=False), gr.Column.update(visible=True)),
179
+ outputs=[chat_interface, tools_interface],
180
+ )
181
+ back_to_chat_button.click(
182
+ fn=lambda: (gr.Column.update(visible=True), gr.Column.update(visible=False)),
183
+ outputs=[chat_interface, tools_interface],
 
 
 
 
184
  )
 
 
 
185
 
186
  # Запуск интерфейса
187
  if __name__ == "__main__":