Update app.py
Browse files
app.py
CHANGED
|
@@ -226,6 +226,18 @@ def create_assistant(prompt, file):
|
|
| 226 |
#Funktion wird direkt aufgerufen aus der GUI - von hier muss auch die Rückmeldung kommen....
|
| 227 |
#man kann einen Text-Prompt eingeben (mit oder ohne RAG), dazu ein Image hochladen, ein Bild zu einem reinen textprompt erzeugen lassen
|
| 228 |
def generate_auswahl(prompt, file, 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,):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 229 |
#kein Bild hochgeladen -> auf Text antworten...
|
| 230 |
if (file == None):
|
| 231 |
result = generate_text(prompt, 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,)
|
|
@@ -286,20 +298,11 @@ def generate_text_zu_bild(file, prompt, k, rag_option, chatbot):
|
|
| 286 |
prompt_neu = prompt
|
| 287 |
if (rag_option == "An"):
|
| 288 |
print("Bild mit RAG..............................")
|
| 289 |
-
#muss nur einmal ausgeführt werden...
|
| 290 |
-
if not splittet:
|
| 291 |
-
splits = document_loading_splitting()
|
| 292 |
-
document_storage_chroma(splits)
|
| 293 |
-
db = document_retrieval_chroma2()
|
| 294 |
-
#mit RAG:
|
| 295 |
neu_text_mit_chunks = rag_chain2(prompt, db, k)
|
| 296 |
#für Chat LLM:
|
| 297 |
#prompt = generate_prompt_with_history_openai(neu_text_mit_chunks, history)
|
| 298 |
#als reiner prompt:
|
| 299 |
prompt_neu = generate_prompt_with_history(neu_text_mit_chunks, chatbot)
|
| 300 |
-
splittet = True
|
| 301 |
-
else:
|
| 302 |
-
splittet = False
|
| 303 |
|
| 304 |
headers, payload = process_image(file, prompt_neu)
|
| 305 |
response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
|
|
@@ -319,20 +322,11 @@ def generate_text_zu_doc(file, prompt, k, rag_option, chatbot):
|
|
| 319 |
prompt_neu = prompt
|
| 320 |
if (rag_option == "An"):
|
| 321 |
print("Doc mit RAG..............................")
|
| 322 |
-
#muss nur einmal ausgeführt werden...
|
| 323 |
-
if not splittet:
|
| 324 |
-
splits = document_loading_splitting()
|
| 325 |
-
document_storage_chroma(splits)
|
| 326 |
-
db = document_retrieval_chroma2()
|
| 327 |
-
#mit RAG:
|
| 328 |
neu_text_mit_chunks = rag_chain2(prompt, db, k)
|
| 329 |
#für Chat LLM:
|
| 330 |
#prompt = generate_prompt_with_history_openai(neu_text_mit_chunks, history)
|
| 331 |
#als reiner prompt:
|
| 332 |
prompt_neu = generate_prompt_with_history(neu_text_mit_chunks, chatbot)
|
| 333 |
-
splittet = True
|
| 334 |
-
else:
|
| 335 |
-
splittet = False
|
| 336 |
|
| 337 |
result = create_assistant(prompt_neu, file)
|
| 338 |
return result
|
|
@@ -386,13 +380,6 @@ def generate_text (prompt, chatbot, history, rag_option, model_option, openai_ap
|
|
| 386 |
|
| 387 |
#zusätzliche Dokumenten Splits aus DB zum Prompt hinzufügen (aus VektorDB - Chroma oder Mongo DB)
|
| 388 |
if (rag_option == "An"):
|
| 389 |
-
print("RAG aktiviert.......................")
|
| 390 |
-
#muss nur einmal ausgeführt werden...
|
| 391 |
-
if not splittet:
|
| 392 |
-
splits = document_loading_splitting()
|
| 393 |
-
document_storage_chroma(splits)
|
| 394 |
-
db = document_retrieval_chroma(llm, history_text_und_prompt)
|
| 395 |
-
splittet = True
|
| 396 |
print("LLM aufrufen mit RAG: ...........")
|
| 397 |
result = rag_chain(llm, history_text_und_prompt, db)
|
| 398 |
#elif (rag_option == "MongoDB"):
|
|
|
|
| 226 |
#Funktion wird direkt aufgerufen aus der GUI - von hier muss auch die Rückmeldung kommen....
|
| 227 |
#man kann einen Text-Prompt eingeben (mit oder ohne RAG), dazu ein Image hochladen, ein Bild zu einem reinen textprompt erzeugen lassen
|
| 228 |
def generate_auswahl(prompt, file, 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,):
|
| 229 |
+
#wenn RAG angeschaltet - Vektorstore initialisieren
|
| 230 |
+
#aber nur, wenn es noch nicht geshehen ist (splittet = False)
|
| 231 |
+
if (rag_option == "An"):
|
| 232 |
+
#muss nur einmal ausgeführt werden...
|
| 233 |
+
if not splittet:
|
| 234 |
+
splits = document_loading_splitting()
|
| 235 |
+
document_storage_chroma(splits)
|
| 236 |
+
db = document_retrieval_chroma2()
|
| 237 |
+
splittet = True
|
| 238 |
+
else:
|
| 239 |
+
splittet = False
|
| 240 |
+
|
| 241 |
#kein Bild hochgeladen -> auf Text antworten...
|
| 242 |
if (file == None):
|
| 243 |
result = generate_text(prompt, 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,)
|
|
|
|
| 298 |
prompt_neu = prompt
|
| 299 |
if (rag_option == "An"):
|
| 300 |
print("Bild mit RAG..............................")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 301 |
neu_text_mit_chunks = rag_chain2(prompt, db, k)
|
| 302 |
#für Chat LLM:
|
| 303 |
#prompt = generate_prompt_with_history_openai(neu_text_mit_chunks, history)
|
| 304 |
#als reiner prompt:
|
| 305 |
prompt_neu = generate_prompt_with_history(neu_text_mit_chunks, chatbot)
|
|
|
|
|
|
|
|
|
|
| 306 |
|
| 307 |
headers, payload = process_image(file, prompt_neu)
|
| 308 |
response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
|
|
|
|
| 322 |
prompt_neu = prompt
|
| 323 |
if (rag_option == "An"):
|
| 324 |
print("Doc mit RAG..............................")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 325 |
neu_text_mit_chunks = rag_chain2(prompt, db, k)
|
| 326 |
#für Chat LLM:
|
| 327 |
#prompt = generate_prompt_with_history_openai(neu_text_mit_chunks, history)
|
| 328 |
#als reiner prompt:
|
| 329 |
prompt_neu = generate_prompt_with_history(neu_text_mit_chunks, chatbot)
|
|
|
|
|
|
|
|
|
|
| 330 |
|
| 331 |
result = create_assistant(prompt_neu, file)
|
| 332 |
return result
|
|
|
|
| 380 |
|
| 381 |
#zusätzliche Dokumenten Splits aus DB zum Prompt hinzufügen (aus VektorDB - Chroma oder Mongo DB)
|
| 382 |
if (rag_option == "An"):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 383 |
print("LLM aufrufen mit RAG: ...........")
|
| 384 |
result = rag_chain(llm, history_text_und_prompt, db)
|
| 385 |
#elif (rag_option == "MongoDB"):
|