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])
|