alexkueck commited on
Commit
7b0d0ec
1 Parent(s): c6eb804

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -4
app.py CHANGED
@@ -357,6 +357,20 @@ def rag_chain(llm, prompt, db):
357
  result = rag_chain({"query": prompt})
358
  return result["result"]
359
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
360
  ###################################################
361
  #Prompts mit History erzeugen für verschiednee Modelle
362
  ###################################################
@@ -429,7 +443,7 @@ def generate_auswahl(prompt, file, chatbot, history, rag_option, model_option, o
429
  else:
430
  #Es wurde ein Bild angehängt -> wenn prompt dazu, das Bild analysieren
431
  #geht nur über spezielle OpenAI-Schnittstelle...
432
- result= generate_text_zu_bild(file, prompt)
433
  history = history + [((file,), None),(prompt, result)]
434
 
435
  print("result..................")
@@ -466,10 +480,24 @@ def generate_bild(prompt, chatbot, temperature=0.5, max_new_tokens=4048,top_p=0
466
 
467
  ##################################################
468
  #zu einem Bild und Text-Prompt eine Analyse generieren
469
- def generate_text_zu_bild(file, prompt):
470
  global splittet
471
- #hier noch die Abfrage rein, ob RAG an ist -
472
- headers, payload = process_image(file, prompt)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
473
  response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
474
  #als json ausgeben
475
  data = response.json()
 
357
  result = rag_chain({"query": prompt})
358
  return result["result"]
359
 
360
+ ############################################
361
+ # rag_chain Alternative für RAg mit Bild-Upload, da hier das llm so nicht genutzt werden kann und der prompt mit den RAG Erweiterungen anders übergeben wird
362
+ #langchain nutzen, um prompt an llm zu leiten, aber vorher in der VektorDB suchen, um passende splits zum Prompt hinzuzufügen
363
+ #prompt mit RAG!!!
364
+ def rag_chain2(prompt, db, k=3):
365
+ rag_template = "Nutze die folgenden Kontext Teile am Ende, um die Frage zu beantworten . " + template + "Frage: " + prompt + "Kontext Teile: "
366
+ retrieved_chunks = db.similarity_search(prompt, k)
367
+
368
+ neu_prompt = rag_template
369
+ for i, chunk in enumerate(retrieved_chunks):
370
+ neu_prompt += f"{i+1}. {chunk}\n"
371
+
372
+ return neu_prompt
373
+
374
  ###################################################
375
  #Prompts mit History erzeugen für verschiednee Modelle
376
  ###################################################
 
443
  else:
444
  #Es wurde ein Bild angehängt -> wenn prompt dazu, das Bild analysieren
445
  #geht nur über spezielle OpenAI-Schnittstelle...
446
+ result= generate_text_zu_bild(file, prompt, k)
447
  history = history + [((file,), None),(prompt, result)]
448
 
449
  print("result..................")
 
480
 
481
  ##################################################
482
  #zu einem Bild und Text-Prompt eine Analyse generieren
483
+ def generate_text_zu_bild(file, prompt, k):
484
  global splittet
485
+
486
+ prompt_neu = prompt
487
+ if (rag_option == "An"):
488
+ #muss nur einmal ausgeführt werden...
489
+ if not splittet:
490
+ splits = document_loading_splitting()
491
+ document_storage_chroma(splits)
492
+ db = document_retrieval_chroma()
493
+ #mit RAG:
494
+ neu_text_mit_chunks = rag_chain(prompt, db, k)
495
+ #für Chat LLM:
496
+ #prompt = generate_prompt_with_history_openai(neu_text_mit_chunks, history)
497
+ #als reiner prompt:
498
+ prompt_neu = generate_prompt_with_history(neu_text_mit_chunks, history)
499
+
500
+ headers, payload = process_image(file, prompt_neu)
501
  response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
502
  #als json ausgeben
503
  data = response.json()