Spaces:
Runtime error
Runtime error
Update utils.py
Browse files
utils.py
CHANGED
@@ -466,14 +466,38 @@ def llm_chain2(llm, prompt):
|
|
466 |
result = llm_chain.run({"question": prompt})
|
467 |
return result
|
468 |
#############################################
|
469 |
-
#
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
477 |
|
478 |
############################################
|
479 |
# 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
|
|
|
466 |
result = llm_chain.run({"question": prompt})
|
467 |
return result
|
468 |
#############################################
|
469 |
+
#von der Vektordatenbank relevante Dokumente, die zum Prrompt passen raussuchen und mit anhängen
|
470 |
+
#vor dem Anhängen werden die Dokumente auf Relevnz gecheckt - sind nicht genüend relevante Docs dabei, wird der prompt von einer anderen KI neu formuliert und
|
471 |
+
#es wird versucht aus der Vektordatenbak dadurch weitere Dokumente, die relevant sind, herauszuholen.
|
472 |
+
def rag_chain(llm, prompt, retriever):
|
473 |
+
#Langgraph nutzen für ein wenig mehr Intelligenz beim Dokumente suchen
|
474 |
+
relevant_docs=[]
|
475 |
+
filtered_docs=[]
|
476 |
+
relevant_docs = retriever.get_relevant_documents(prompt)
|
477 |
+
print("releant docs1......................")
|
478 |
+
print(relevant_docs)
|
479 |
+
if (len(relevant_docs)>0):
|
480 |
+
filtered_docs = grade_documents_direct(prompt, relevant_docs)
|
481 |
+
|
482 |
+
neu_prompt=prompt
|
483 |
+
if (len(filtered_docs)<2): #frage neu formulieren
|
484 |
+
relevant_docs=[]
|
485 |
+
neu_prompt = transform_query_direct(prompt)
|
486 |
+
relevant_docs = retriever.get_relevant_documents(neu_prompt)
|
487 |
+
if (len(relevant_docs)>0):
|
488 |
+
print("releant docs2......................")
|
489 |
+
print(relevant_docs)
|
490 |
+
filtered_docs = grade_documents_direct(neu_prompt, relevant_docs)
|
491 |
+
|
492 |
+
if (len(filtered_docs)>0):
|
493 |
+
llm_chain = LLMChain(llm = llm, prompt = RAG_CHAIN_PROMPT)
|
494 |
+
result = llm_chain.run({"context": filtered_docs, "question": neu_prompt})
|
495 |
+
else:
|
496 |
+
#Normale Abfrage, da keine relevanten Dokumente gefunden
|
497 |
+
llm_chain = LLMChain(llm = llm, prompt = LLM_CHAIN_PROMPT)
|
498 |
+
result = llm_chain.run({"question": neu_prompt})
|
499 |
+
return result
|
500 |
+
|
501 |
|
502 |
############################################
|
503 |
# 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
|