Shreyas094 commited on
Commit
fcfb7cb
·
verified ·
1 Parent(s): 8b05473

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -10
app.py CHANGED
@@ -29,7 +29,7 @@ class Agent1:
29
  rephrase_prompt = PromptTemplate(
30
  input_variables=["query"],
31
  template="""
32
- Your task is to rephrase the given query into one or more concise, search-engine-friendly formats.
33
  If the query contains multiple distinct questions, split them.
34
  Provide ONLY the rephrased queries without any additional text or explanations, one per line.
35
 
@@ -279,6 +279,7 @@ def ask_question(question, temperature, top_p, repetition_penalty, web_search):
279
 
280
  max_attempts = 3
281
  context_reduction_factor = 0.7
 
282
 
283
  for attempt in range(max_attempts):
284
  try:
@@ -349,15 +350,19 @@ def ask_question(question, temperature, top_p, repetition_penalty, web_search):
349
  else:
350
  answer = full_response.strip()
351
 
352
- if not agent2.validate_response(question, answer):
353
- follow_up_query = agent2.generate_follow_up_query(question, answer)
354
- follow_up_results = agent1.process(follow_up_query)
355
- follow_up_docs = [Document(page_content=result["text"], metadata={"source": result["link"], "query": follow_up_query}) for results in follow_up_results.values() for result in results if result["text"]]
356
- database.add_documents(follow_up_docs)
357
- context_str += "\n" + "\n".join([f"Follow-up Query: {doc.metadata['query']}\nSource: {doc.metadata['source']}\nContent: {doc.page_content}" for doc in follow_up_docs])
358
- formatted_prompt = prompt_val.format(context=context_str, question=question)
359
- full_response = generate_chunked_response(model, formatted_prompt)
360
- answer = full_response.strip()
 
 
 
 
361
 
362
  if web_search:
363
  sources = set(doc.metadata['source'] for doc in web_docs)
 
29
  rephrase_prompt = PromptTemplate(
30
  input_variables=["query"],
31
  template="""
32
+ Rephrase the given query into one or more concise, search-engine-friendly formats.
33
  If the query contains multiple distinct questions, split them.
34
  Provide ONLY the rephrased queries without any additional text or explanations, one per line.
35
 
 
279
 
280
  max_attempts = 3
281
  context_reduction_factor = 0.7
282
+ agent2_max_attempts = 2
283
 
284
  for attempt in range(max_attempts):
285
  try:
 
350
  else:
351
  answer = full_response.strip()
352
 
353
+ for agent2_attempt in range(agent2_max_attempts):
354
+ if agent2.validate_response(question, answer):
355
+ break
356
+
357
+ if agent2_attempt < agent2_max_attempts - 1:
358
+ follow_up_query = agent2.generate_follow_up_query(question, answer)
359
+ follow_up_results = agent1.process(follow_up_query)
360
+ follow_up_docs = [Document(page_content=result["text"], metadata={"source": result["link"], "query": follow_up_query}) for results in follow_up_results.values() for result in results if result["text"]]
361
+ database.add_documents(follow_up_docs)
362
+ context_str += "\n" + "\n".join([f"Follow-up Query: {doc.metadata['query']}\nSource: {doc.metadata['source']}\nContent: {doc.page_content}" for doc in follow_up_docs])
363
+ formatted_prompt = prompt_val.format(context=context_str, question=question)
364
+ full_response = generate_chunked_response(model, formatted_prompt)
365
+ answer = full_response.strip()
366
 
367
  if web_search:
368
  sources = set(doc.metadata['source'] for doc in web_docs)