alexkueck commited on
Commit
83a2835
1 Parent(s): 9f71841

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -0
app.py CHANGED
@@ -181,7 +181,17 @@ def umwandeln_fuer_anzeige(image):
181
  buffer = io.BytesIO()
182
  image.save(buffer, format='PNG')
183
  return buffer.getvalue()
 
 
 
 
 
 
184
 
 
 
 
 
185
 
186
 
187
  ##########################################
@@ -489,6 +499,7 @@ with gr.Blocks(css=customCSS, theme=small_and_beautiful_theme) as demo:
489
  # history parallel zu chatbot speichern - da in chatbot bei Bildern zum Anzeigen in der GUI die Bilder speziell formatiert werden,
490
  # für die Übergabe an die ki aber der Pfad zum Bild behalten werden muss - was in der history der Fall ist!
491
  history = gr.State([])
 
492
  #damit der Prompt auch nach dem upload in die History noch für predicts_args verfügbar ist
493
  user_question = gr.State("")
494
  #damit der Prompt auch nach dem upload in die History noch für predicts_args verfügbar ist
@@ -572,6 +583,11 @@ with gr.Blocks(css=customCSS, theme=small_and_beautiful_theme) as demo:
572
  repetition_penalty=gr.Slider(label="Repetition penalty", value=1.2, minimum=1.0, maximum=2.0, step=0.05, interactive=True, info="Strafe für wiederholte Tokens", visible=False)
573
  anzahl_docs = gr.Slider(label="Anzahl Dokumente", value=3, minimum=1, maximum=10, step=1, interactive=True, info="wie viele Dokumententeile aus dem Vektorstore an den prompt gehängt werden", visible=False)
574
  openai_key = gr.Textbox(label = "OpenAI API Key", value = "sk-", lines = 1, visible = False)
 
 
 
 
 
575
  ################################################
576
  # Tab zum Zeichnen mit Stable Diffusion
577
  ################################################
@@ -647,7 +663,11 @@ with gr.Blocks(css=customCSS, theme=small_and_beautiful_theme) as demo:
647
  predict_event2 = submitBtn.click(**transfer_input_args, queue=False,).then(**predict_args)
648
  predict_event3 = upload.upload(file_anzeigen, [upload], [image_display, image_display, attached_file] ) #.then(**predict_args)
649
  emptyBtn.click(clear_all, [], [attached_file, image_display, history])
 
650
  image_display.select(file_loeschen, [], [attached_file, image_display])
 
 
 
651
 
652
  #Berechnung oder Ausgabe anhalten (kann danach fortgesetzt werden)
653
  cancelBtn.click(cancel_outputing, [], [status_display], cancels=[predict_event1,predict_event2, predict_event3])
 
181
  buffer = io.BytesIO()
182
  image.save(buffer, format='PNG')
183
  return buffer.getvalue()
184
+
185
+ #########################################
186
+ # Funktionen, um vergangene Chats anzuzeigen und zum Download anzubieten
187
+ def update_chat_options():
188
+ # Diese Funktion aktualisiert die verfügbaren Chat-Optionen
189
+ return list(chats.keys())
190
 
191
+ def download_chats(selected_chats):
192
+ # Diese Funktion bereitet die ausgewählten Chats zum Download vor
193
+ data = "\n\n".join(chats[chat] for chat in selected_chats)
194
+ return gr.File.save_text(data, "selected_chats.txt")
195
 
196
 
197
  ##########################################
 
499
  # history parallel zu chatbot speichern - da in chatbot bei Bildern zum Anzeigen in der GUI die Bilder speziell formatiert werden,
500
  # für die Übergabe an die ki aber der Pfad zum Bild behalten werden muss - was in der history der Fall ist!
501
  history = gr.State([])
502
+ long_history = gr.State([])
503
  #damit der Prompt auch nach dem upload in die History noch für predicts_args verfügbar ist
504
  user_question = gr.State("")
505
  #damit der Prompt auch nach dem upload in die History noch für predicts_args verfügbar ist
 
583
  repetition_penalty=gr.Slider(label="Repetition penalty", value=1.2, minimum=1.0, maximum=2.0, step=0.05, interactive=True, info="Strafe für wiederholte Tokens", visible=False)
584
  anzahl_docs = gr.Slider(label="Anzahl Dokumente", value=3, minimum=1, maximum=10, step=1, interactive=True, info="wie viele Dokumententeile aus dem Vektorstore an den prompt gehängt werden", visible=False)
585
  openai_key = gr.Textbox(label = "OpenAI API Key", value = "sk-", lines = 1, visible = False)
586
+
587
+ with gr.Tab(label="Chats ..."):
588
+ vergangene_chats = gr.Interface(fn=download_chats, inputs=chat_selector, outputs=gr.File(label="Download"))
589
+
590
+
591
  ################################################
592
  # Tab zum Zeichnen mit Stable Diffusion
593
  ################################################
 
663
  predict_event2 = submitBtn.click(**transfer_input_args, queue=False,).then(**predict_args)
664
  predict_event3 = upload.upload(file_anzeigen, [upload], [image_display, image_display, attached_file] ) #.then(**predict_args)
665
  emptyBtn.click(clear_all, [], [attached_file, image_display, history])
666
+ #Bild Anzeige neben dem Button wieder entfernen oder austauschen..
667
  image_display.select(file_loeschen, [], [attached_file, image_display])
668
+ # Interface-Elemente für Chats (vergangene)
669
+ chat_selector = gr.CheckboxGroup(label="Wähle Chats zum Download", choices=update_chat_options())
670
+ download_button = gr.Button("Download")
671
 
672
  #Berechnung oder Ausgabe anhalten (kann danach fortgesetzt werden)
673
  cancelBtn.click(cancel_outputing, [], [status_display], cancels=[predict_event1,predict_event2, predict_event3])