fruitpicker01 commited on
Commit
22cbbdf
·
verified ·
1 Parent(s): b1d366a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -6
app.py CHANGED
@@ -7,10 +7,13 @@ import time
7
  from langchain.schema import SystemMessage
8
  from langchain_community.chat_models.gigachat import GigaChat
9
  from openpyxl import load_workbook
 
 
10
 
11
  # Установка ключа API для OpenAI и GigaChat
12
  openai_api_key = os.getenv('GPT_KEY')
13
  gc_key = os.getenv('GC_KEY')
 
14
 
15
  # Авторизация в сервисе GigaChat
16
  chat_pro = GigaChat(credentials=gc_key, model='GigaChat-Pro', verify_ssl_certs=False)
@@ -267,9 +270,10 @@ def check_errors_with_yield(*personalized_messages):
267
 
268
 
269
  # Функция для сохранения сообщения в файл
270
- def save_to_individual_json(message, model_name):
271
  # Формируем уникальное имя файла на основе текущего времени
272
- file_name = f"saved_sms_{int(time.time())}.json"
 
273
  file_path = os.path.join(".", file_name)
274
 
275
  # Данные для записи
@@ -279,6 +283,25 @@ def save_to_individual_json(message, model_name):
279
  with open(file_path, 'w') as file:
280
  json.dump(data, file, ensure_ascii=False, indent=4)
281
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
282
 
283
  # Создание интерфейса Gradio
284
  with gr.Blocks() as demo:
@@ -354,10 +377,11 @@ with gr.Blocks() as demo:
354
  save_gigachat_plus_btn = gr.Button("👍")
355
 
356
  # Привязка кнопок к функциям сохранения
357
- save_gpt4o_btn.click(fn=lambda x: save_to_individual_json(x, "GPT-4o"), inputs=personalized_output_text_gpt4o, outputs=None)
358
- save_gigachat_pro_btn.click(fn=lambda x: save_to_individual_json(x, "GigaChat-Pro"), inputs=personalized_output_text_gigachat_pro, outputs=None)
359
- save_gigachat_lite_btn.click(fn=lambda x: save_to_individual_json(x, "GigaChat-Lite"), inputs=personalized_output_text_gigachat_lite, outputs=None)
360
- save_gigachat_plus_btn.click(fn=lambda x: save_to_individual_json(x, "GigaChat-Lite+"), inputs=personalized_output_text_gigachat_plus, outputs=None)
 
361
 
362
  # Использование сохраненных переменных в следующем блоке
363
  with gr.Row():
 
7
  from langchain.schema import SystemMessage
8
  from langchain_community.chat_models.gigachat import GigaChat
9
  from openpyxl import load_workbook
10
+ import base64
11
+ import git
12
 
13
  # Установка ключа API для OpenAI и GigaChat
14
  openai_api_key = os.getenv('GPT_KEY')
15
  gc_key = os.getenv('GC_KEY')
16
+ token = os.getenv('GITHUB_TOKEN')
17
 
18
  # Авторизация в сервисе GigaChat
19
  chat_pro = GigaChat(credentials=gc_key, model='GigaChat-Pro', verify_ssl_certs=False)
 
270
 
271
 
272
  # Функция для сохранения сообщения в файл
273
+ def save_to_github(message, model_name):
274
  # Формируем уникальное имя файла на основе текущего времени
275
+ timestamp = int(time.time())
276
+ file_name = f"file_{timestamp}.json"
277
  file_path = os.path.join(".", file_name)
278
 
279
  # Данные для записи
 
283
  with open(file_path, 'w') as file:
284
  json.dump(data, file, ensure_ascii=False, indent=4)
285
 
286
+ # Инициализация репозитория и добавление файла
287
+ repo = git.Repo(".")
288
+ repo.index.add([file_path])
289
+ repo.index.commit(f"Add {file_name} generated by {model_name}")
290
+
291
+ # Настройка удаленного репозитория с использованием токена
292
+ token = os.getenv('GITHUB_TOKEN')
293
+ repo_url = f"https://{token}@github.com/fruitpicker01/Storage_1.git"
294
+
295
+ # Если origin еще не настроен, настраиваем его
296
+ if 'origin' not in [remote.name for remote in repo.remotes]:
297
+ repo.create_remote('origin', repo_url)
298
+ else:
299
+ repo.remotes.origin.set_url(repo_url)
300
+
301
+ # Пушим изменения в main ветку
302
+ repo.remotes.origin.push(f"HEAD:main")
303
+
304
+
305
 
306
  # Создание интерфейса Gradio
307
  with gr.Blocks() as demo:
 
377
  save_gigachat_plus_btn = gr.Button("👍")
378
 
379
  # Привязка кнопок к функциям сохранения
380
+ save_gpt4o_btn.click(fn=lambda x: save_to_github(x, "GPT-4o"), inputs=personalized_output_text_gpt4o, outputs=None)
381
+ save_gigachat_pro_btn.click(fn=lambda x: save_to_github(x, "GigaChat-Pro"), inputs=personalized_output_text_gigachat_pro, outputs=None)
382
+ save_gigachat_lite_btn.click(fn=lambda x: save_to_github(x, "GigaChat-Lite"), inputs=personalized_output_text_gigachat_lite, outputs=None)
383
+ save_gigachat_plus_btn.click(fn=lambda x: save_to_github(x, "GigaChat-Lite+"), inputs=personalized_output_text_gigachat_plus, outputs=None)
384
+
385
 
386
  # Использование сохраненных переменных в следующем блоке
387
  with gr.Row():