Spaces:
Runtime error
Runtime error
Update app.py
Browse files
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])
|