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"):
|