Update utils.py
Browse files
utils.py
CHANGED
@@ -280,7 +280,7 @@ def document_storage_chroma(splits):
|
|
280 |
return vectorstore, retriever
|
281 |
|
282 |
#Dokumente, die vom Retriever rausgesucht wurden auf Relevanz untersuchen
|
283 |
-
def grade_documents_direct(documents):
|
284 |
print("---CHECK RELEVANCE---")
|
285 |
# Data model
|
286 |
class grade(BaseModel):
|
@@ -319,7 +319,7 @@ def grade_documents_direct(documents):
|
|
319 |
filtered_docs = []
|
320 |
|
321 |
for d in documents:
|
322 |
-
score = chain.invoke({"question":
|
323 |
grade = score[0].binary_score
|
324 |
if grade == "ja":
|
325 |
print("---Bewertung: Dokument ist relevant---")
|
@@ -330,7 +330,7 @@ def grade_documents_direct(documents):
|
|
330 |
return filtered_docs
|
331 |
|
332 |
|
333 |
-
def transform_query_direct(
|
334 |
print("---TRANSFORM QUERY---")
|
335 |
|
336 |
# Create a prompt template with format instructions and the query
|
@@ -375,7 +375,7 @@ def llm_chain2(llm, prompt):
|
|
375 |
def rag_chain(llm, prompt, retriever):
|
376 |
#Langgraph nutzen für ein wenig mehr Intelligenz beim Dokumente suchen
|
377 |
relevant_docs = retriever.get_relevant_documents(prompt)
|
378 |
-
filtered_docs = grade_documents_direct(relevant_docs)
|
379 |
neu_prompt=prompt
|
380 |
if (len(filtered_docs)<2): #frage neu formulieren
|
381 |
neu_prompt = transform_query_direct(prompt)
|
|
|
280 |
return vectorstore, retriever
|
281 |
|
282 |
#Dokumente, die vom Retriever rausgesucht wurden auf Relevanz untersuchen
|
283 |
+
def grade_documents_direct(prompt, documents):
|
284 |
print("---CHECK RELEVANCE---")
|
285 |
# Data model
|
286 |
class grade(BaseModel):
|
|
|
319 |
filtered_docs = []
|
320 |
|
321 |
for d in documents:
|
322 |
+
score = chain.invoke({"question": prompt, "context": d.page_content})
|
323 |
grade = score[0].binary_score
|
324 |
if grade == "ja":
|
325 |
print("---Bewertung: Dokument ist relevant---")
|
|
|
330 |
return filtered_docs
|
331 |
|
332 |
|
333 |
+
def transform_query_direct(question):
|
334 |
print("---TRANSFORM QUERY---")
|
335 |
|
336 |
# Create a prompt template with format instructions and the query
|
|
|
375 |
def rag_chain(llm, prompt, retriever):
|
376 |
#Langgraph nutzen für ein wenig mehr Intelligenz beim Dokumente suchen
|
377 |
relevant_docs = retriever.get_relevant_documents(prompt)
|
378 |
+
filtered_docs = grade_documents_direct(prompt, relevant_docs)
|
379 |
neu_prompt=prompt
|
380 |
if (len(filtered_docs)<2): #frage neu formulieren
|
381 |
neu_prompt = transform_query_direct(prompt)
|