Update app.py
Browse files
app.py
CHANGED
@@ -276,7 +276,7 @@ def create_assistant_suche(prompt):
|
|
276 |
#########################################################
|
277 |
#Funktion wird direkt aufgerufen aus der GUI - von hier muss auch die Rückmeldung kommen....
|
278 |
#man kann einen Text-Prompt eingeben (mit oder ohne RAG), dazu ein Image hochladen, ein Bild zu einem reinen textprompt erzeugen lassen
|
279 |
-
def generate_auswahl(prompt_in, file, file_history, chatbot, history, rag_option, model_option, openai_api_key, k=3, top_p=0.6, temperature=0.5, max_new_tokens=4048, max_context_length_tokens=2048, repetition_penalty=1.3,top_k=35):
|
280 |
global splittet, db
|
281 |
#wenn RAG angeschaltet - Vektorstore initialisieren
|
282 |
#aber nur, wenn es noch nicht geshehen ist (splittet = False)
|
@@ -336,7 +336,7 @@ def generate_auswahl(prompt_in, file, file_history, chatbot, history, rag_option
|
|
336 |
|
337 |
##################################################
|
338 |
#zu einem Text-Prompt ein Bild via Stable Diffusion generieren
|
339 |
-
def generate_bild(prompt, chatbot, model_option_zeichnen='HuggingFace', temperature=0.5, max_new_tokens=4048,top_p=0.6, repetition_penalty=1.3):
|
340 |
global client
|
341 |
if (model_option_zeichnen == "Stable Diffusion"):
|
342 |
print("Bild Erzeugung HF..............................")
|
@@ -476,6 +476,18 @@ def generate_text (prompt, chatbot, history, rag_option, model_option, openai_ap
|
|
476 |
|
477 |
return result, suche_im_Netz
|
478 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
479 |
|
480 |
|
481 |
################################################
|
@@ -507,6 +519,7 @@ with gr.Blocks(css=customCSS, theme=themeAlex) as demo:
|
|
507 |
#Session Variablen, um Weete zu speichern, auch wenn die Felder in der GUI bereits wieder leer sind
|
508 |
# history parallel zu chatbot speichern - da in chatbot bei Bildern zum Anzeigen in der GUI die Bilder speziell formatiert werden,
|
509 |
# für die Übergabe an die ki aber der Pfad zum Bild behalten werden muss - was in der history der Fall ist!
|
|
|
510 |
history = gr.State([])
|
511 |
uploaded_file_paths= gr.State([])
|
512 |
#alle chats einer Session sammeln
|
@@ -523,6 +536,9 @@ with gr.Blocks(css=customCSS, theme=themeAlex) as demo:
|
|
523 |
# Tab zum Chatbot mit Text oder Bildeingabe
|
524 |
################################################
|
525 |
gr.Markdown(description_top)
|
|
|
|
|
|
|
526 |
with gr.Tab("LI Chatbot"):
|
527 |
with gr.Row():
|
528 |
#gr.HTML("LI Chatot")
|
@@ -668,7 +684,8 @@ with gr.Blocks(css=customCSS, theme=themeAlex) as demo:
|
|
668 |
max_length_tokens,
|
669 |
max_context_length_tokens,
|
670 |
repetition_penalty,
|
671 |
-
top_k
|
|
|
672 |
],
|
673 |
outputs=[chatbot, history, attached_file, attached_file_history, status_display],
|
674 |
show_progress=True,
|
@@ -683,6 +700,10 @@ with gr.Blocks(css=customCSS, theme=themeAlex) as demo:
|
|
683 |
fn=add_text, inputs=[chatbot, history, user_input, attached_file, attached_file_history], outputs=[chatbot, history, user_question, attached_file, attached_file_history, image_display , user_input], show_progress=True
|
684 |
)
|
685 |
|
|
|
|
|
|
|
|
|
686 |
predict_event1 = user_input.submit(**transfer_input_args, queue=False,).then(**predict_args)
|
687 |
predict_event2 = submitBtn.click(**transfer_input_args, queue=False,).then(**predict_args)
|
688 |
predict_event3 = upload.upload(file_anzeigen, [upload], [image_display, image_display, attached_file] ) #.then(**predict_args)
|
@@ -704,6 +725,7 @@ with gr.Blocks(css=customCSS, theme=themeAlex) as demo:
|
|
704 |
chatbot_bild,
|
705 |
model_option_zeichnen,
|
706 |
#additional_inputs,
|
|
|
707 |
],
|
708 |
outputs=[chatbot_bild, status_display2], #[chatbot, history, status_display]
|
709 |
show_progress=True,
|
|
|
276 |
#########################################################
|
277 |
#Funktion wird direkt aufgerufen aus der GUI - von hier muss auch die Rückmeldung kommen....
|
278 |
#man kann einen Text-Prompt eingeben (mit oder ohne RAG), dazu ein Image hochladen, ein Bild zu einem reinen textprompt erzeugen lassen
|
279 |
+
def generate_auswahl(prompt_in, file, file_history, chatbot, history, rag_option, model_option, openai_api_key, k=3, top_p=0.6, temperature=0.5, max_new_tokens=4048, max_context_length_tokens=2048, repetition_penalty=1.3,top_k=35, validate=False):
|
280 |
global splittet, db
|
281 |
#wenn RAG angeschaltet - Vektorstore initialisieren
|
282 |
#aber nur, wenn es noch nicht geshehen ist (splittet = False)
|
|
|
336 |
|
337 |
##################################################
|
338 |
#zu einem Text-Prompt ein Bild via Stable Diffusion generieren
|
339 |
+
def generate_bild(prompt, chatbot, model_option_zeichnen='HuggingFace', temperature=0.5, max_new_tokens=4048,top_p=0.6, repetition_penalty=1.3, validate=False):
|
340 |
global client
|
341 |
if (model_option_zeichnen == "Stable Diffusion"):
|
342 |
print("Bild Erzeugung HF..............................")
|
|
|
476 |
|
477 |
return result, suche_im_Netz
|
478 |
|
479 |
+
|
480 |
+
########################################
|
481 |
+
# Bot- test gegen schädliche Bots die die Anwendung testen...
|
482 |
+
# Funktion zur Überprüfung der Benutzereingabe
|
483 |
+
# Funktion zur Überprüfung der Eingabe und Aktivierung der Hauptanwendung
|
484 |
+
def validate_input(user_input_validate, validate=False):
|
485 |
+
user_input_hashed = hash_input(user_input_validate)
|
486 |
+
if user_input_hashed == hash_input(ANTI_BOT_PW):
|
487 |
+
return "Richtig! Weiter gehts... ", True, gr.Textbox(visible=False), gr.Button(visible=False)
|
488 |
+
else:
|
489 |
+
return "Falsche Antwort!!!!!!!!!", False, gr.Textbox(label = "", placeholder="Bitte tippen Sie das oben im Moodle Kurs angegebene Wort ein, um zu beweisen, dass Sie kein Bot sind.", visible=True, scale= 5), gr.Button("Validieren", visible = True)
|
490 |
+
|
491 |
|
492 |
|
493 |
################################################
|
|
|
519 |
#Session Variablen, um Weete zu speichern, auch wenn die Felder in der GUI bereits wieder leer sind
|
520 |
# history parallel zu chatbot speichern - da in chatbot bei Bildern zum Anzeigen in der GUI die Bilder speziell formatiert werden,
|
521 |
# für die Übergabe an die ki aber der Pfad zum Bild behalten werden muss - was in der history der Fall ist!
|
522 |
+
validate = gr.State(False)
|
523 |
history = gr.State([])
|
524 |
uploaded_file_paths= gr.State([])
|
525 |
#alle chats einer Session sammeln
|
|
|
536 |
# Tab zum Chatbot mit Text oder Bildeingabe
|
537 |
################################################
|
538 |
gr.Markdown(description_top)
|
539 |
+
with gr.Row():
|
540 |
+
user_input_validate =gr.Textbox(label= "Bitte das oben im Moodle Kurs angegebene Wort eingeben, um die Anwendung zu starten", visible=True, interactive=True, scale= 7)
|
541 |
+
validate_btn = gr.Button("Validieren", visible = True)
|
542 |
with gr.Tab("LI Chatbot"):
|
543 |
with gr.Row():
|
544 |
#gr.HTML("LI Chatot")
|
|
|
684 |
max_length_tokens,
|
685 |
max_context_length_tokens,
|
686 |
repetition_penalty,
|
687 |
+
top_k,
|
688 |
+
validate
|
689 |
],
|
690 |
outputs=[chatbot, history, attached_file, attached_file_history, status_display],
|
691 |
show_progress=True,
|
|
|
700 |
fn=add_text, inputs=[chatbot, history, user_input, attached_file, attached_file_history], outputs=[chatbot, history, user_question, attached_file, attached_file_history, image_display , user_input], show_progress=True
|
701 |
)
|
702 |
|
703 |
+
#Validation Button
|
704 |
+
# Event-Handler für die Validierung
|
705 |
+
validate_btn.click(validate_input, inputs=[user_input_validate, validate], outputs=[status_display, validate, user_input_validate, validate_btn])
|
706 |
+
user_input_validate.submit(validate_input, inputs=[user_input_validate, validate], outputs=[status_display, validate, user_input_validate, validate_btn])
|
707 |
predict_event1 = user_input.submit(**transfer_input_args, queue=False,).then(**predict_args)
|
708 |
predict_event2 = submitBtn.click(**transfer_input_args, queue=False,).then(**predict_args)
|
709 |
predict_event3 = upload.upload(file_anzeigen, [upload], [image_display, image_display, attached_file] ) #.then(**predict_args)
|
|
|
725 |
chatbot_bild,
|
726 |
model_option_zeichnen,
|
727 |
#additional_inputs,
|
728 |
+
validate
|
729 |
],
|
730 |
outputs=[chatbot_bild, status_display2], #[chatbot, history, status_display]
|
731 |
show_progress=True,
|