Shreyas094 commited on
Commit
76a1b1e
1 Parent(s): 9f83d50

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -1
app.py CHANGED
@@ -231,10 +231,23 @@ def ask_question(question, temperature, top_p, repetition_penalty, web_search):
231
  answer = memory_database[question]
232
  else:
233
  model = get_model(temperature, top_p, repetition_penalty)
 
234
 
235
  if web_search:
236
  search_results = google_search(question)
237
  context_str = "\n".join([result["text"] for result in search_results if result["text"]])
 
 
 
 
 
 
 
 
 
 
 
 
238
  prompt_template = """
239
  Answer the question based on the following web search results:
240
  Web Search Results:
@@ -246,7 +259,6 @@ def ask_question(question, temperature, top_p, repetition_penalty, web_search):
246
  prompt_val = ChatPromptTemplate.from_template(prompt_template)
247
  formatted_prompt = prompt_val.format(context=context_str, question=question)
248
  else:
249
- embed = get_embeddings()
250
  database = FAISS.load_local("faiss_database", embed, allow_dangerous_deserialization=True)
251
  history_str = "\n".join([f"Q: {item['question']}\nA: {item['answer']}" for item in conversation_history])
252
 
 
231
  answer = memory_database[question]
232
  else:
233
  model = get_model(temperature, top_p, repetition_penalty)
234
+ embed = get_embeddings()
235
 
236
  if web_search:
237
  search_results = google_search(question)
238
  context_str = "\n".join([result["text"] for result in search_results if result["text"]])
239
+
240
+ # Convert web search results to Document format
241
+ web_docs = [Document(page_content=result["text"], metadata={"source": result["link"]}) for result in search_results if result["text"]]
242
+
243
+ # Load or create the vector database
244
+ if os.path.exists("faiss_database"):
245
+ database = FAISS.load_local("faiss_database", embed, allow_dangerous_deserialization=True)
246
+ database.add_documents(web_docs)
247
+ else:
248
+ database = FAISS.from_documents(web_docs, embed)
249
+ database.save_local("faiss_database")
250
+
251
  prompt_template = """
252
  Answer the question based on the following web search results:
253
  Web Search Results:
 
259
  prompt_val = ChatPromptTemplate.from_template(prompt_template)
260
  formatted_prompt = prompt_val.format(context=context_str, question=question)
261
  else:
 
262
  database = FAISS.load_local("faiss_database", embed, allow_dangerous_deserialization=True)
263
  history_str = "\n".join([f"Q: {item['question']}\nA: {item['answer']}" for item in conversation_history])
264