Update utils.py
Browse files
utils.py
CHANGED
@@ -283,6 +283,7 @@ def document_storage_chroma(splits):
|
|
283 |
#Dokumente, die vom Retriever rausgesucht wurden auf Relevanz untersuchen
|
284 |
def grade_documents_direct(prompt, documents):
|
285 |
print("---CHECK RELEVANCE---")
|
|
|
286 |
# Data model
|
287 |
class grade(BaseModel):
|
288 |
"""Binary score for relevance check."""
|
@@ -290,19 +291,19 @@ def grade_documents_direct(prompt, documents):
|
|
290 |
|
291 |
# LLM
|
292 |
model = ChatOpenAI(temperature=0.3, model="gpt-4-0125-preview", streaming=True)
|
293 |
-
|
294 |
# Tool
|
295 |
grade_tool_oai = convert_to_openai_tool(grade)
|
296 |
-
|
297 |
# LLM with tool and enforce invocation
|
298 |
llm_with_tool = model.bind(
|
299 |
tools=[convert_to_openai_tool(grade_tool_oai)],
|
300 |
tool_choice={"type": "function", "function": {"name": "grade"}},
|
301 |
)
|
302 |
-
|
303 |
# Parser
|
304 |
parser_tool = PydanticToolsParser(tools=[grade])
|
305 |
-
|
306 |
# Prompt
|
307 |
prompt = PromptTemplate(
|
308 |
template="""Du bist ein Bewerter, der die Relevanz von einem erhaltenen Dokument zu einer Nutzeranfrage bewerten soll. \n
|
@@ -312,10 +313,10 @@ def grade_documents_direct(prompt, documents):
|
|
312 |
Gib eine binäre Bewertung von 'ja' oder 'nein' Bewertung, um anzuzeigen ob das Dokuemnt relevant ist zur Nutzeranfrage oder nicht.""",
|
313 |
input_variables=["context", "question"],
|
314 |
)
|
315 |
-
|
316 |
# Chain
|
317 |
chain = prompt | llm_with_tool | parser_tool
|
318 |
-
|
319 |
# Score
|
320 |
filtered_docs = []
|
321 |
|
|
|
283 |
#Dokumente, die vom Retriever rausgesucht wurden auf Relevanz untersuchen
|
284 |
def grade_documents_direct(prompt, documents):
|
285 |
print("---CHECK RELEVANCE---")
|
286 |
+
|
287 |
# Data model
|
288 |
class grade(BaseModel):
|
289 |
"""Binary score for relevance check."""
|
|
|
291 |
|
292 |
# LLM
|
293 |
model = ChatOpenAI(temperature=0.3, model="gpt-4-0125-preview", streaming=True)
|
294 |
+
print("hier1..................................")
|
295 |
# Tool
|
296 |
grade_tool_oai = convert_to_openai_tool(grade)
|
297 |
+
print("hier2..................................")
|
298 |
# LLM with tool and enforce invocation
|
299 |
llm_with_tool = model.bind(
|
300 |
tools=[convert_to_openai_tool(grade_tool_oai)],
|
301 |
tool_choice={"type": "function", "function": {"name": "grade"}},
|
302 |
)
|
303 |
+
print("hier3..................................")
|
304 |
# Parser
|
305 |
parser_tool = PydanticToolsParser(tools=[grade])
|
306 |
+
print("hier4..................................")
|
307 |
# Prompt
|
308 |
prompt = PromptTemplate(
|
309 |
template="""Du bist ein Bewerter, der die Relevanz von einem erhaltenen Dokument zu einer Nutzeranfrage bewerten soll. \n
|
|
|
313 |
Gib eine binäre Bewertung von 'ja' oder 'nein' Bewertung, um anzuzeigen ob das Dokuemnt relevant ist zur Nutzeranfrage oder nicht.""",
|
314 |
input_variables=["context", "question"],
|
315 |
)
|
316 |
+
print("hier5..................................")
|
317 |
# Chain
|
318 |
chain = prompt | llm_with_tool | parser_tool
|
319 |
+
print("hier6..................................")
|
320 |
# Score
|
321 |
filtered_docs = []
|
322 |
|