singhankur01 commited on
Commit
5b933bb
·
verified ·
1 Parent(s): 49063dd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -10
app.py CHANGED
@@ -188,21 +188,34 @@ async def run_hackrx(req: RunRequest):
188
  question_embeddings = ml_models["embedder"].embed_documents(req.questions)
189
 
190
  # For each question, retrieve and rerank with cosine
191
- retrieved_chunks_all = []
192
- for i, question in enumerate(req.questions):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  docs = ensemble_retriever.get_relevant_documents(question)
194
  doc_texts = [doc.page_content for doc in docs]
195
-
196
  doc_embeddings = ml_models["embedder"].embed_documents(doc_texts)
197
- sims = cosine_similarity([question_embeddings[i]], doc_embeddings)[0]
198
-
199
- top_k = 5
200
  top_indices = np.argsort(sims)[-top_k:][::-1]
201
  top_chunks = [doc_texts[j] for j in top_indices]
202
-
203
- # Join for context
204
- joined_context = "\n\n".join(top_chunks)
205
- retrieved_chunks_all.append(joined_context)
 
206
 
207
  ####################################################################################################################
208
 
 
188
  question_embeddings = ml_models["embedder"].embed_documents(req.questions)
189
 
190
  # For each question, retrieve and rerank with cosine
191
+ # retrieved_chunks_all = []
192
+ # for i, question in enumerate(req.questions):
193
+ # docs = ensemble_retriever.get_relevant_documents(question)
194
+ # doc_texts = [doc.page_content for doc in docs]
195
+
196
+ # doc_embeddings = ml_models["embedder"].embed_documents(doc_texts)
197
+ # sims = cosine_similarity([question_embeddings[i]], doc_embeddings)[0]
198
+
199
+ # top_k = 5
200
+ # top_indices = np.argsort(sims)[-top_k:][::-1]
201
+ # top_chunks = [doc_texts[j] for j in top_indices]
202
+
203
+ # # Join for context
204
+ # joined_context = "\n\n".join(top_chunks)
205
+ # retrieved_chunks_all.append(joined_context)
206
+ async def async_retrieve_and_rerank(question: str, q_idx: int):
207
  docs = ensemble_retriever.get_relevant_documents(question)
208
  doc_texts = [doc.page_content for doc in docs]
 
209
  doc_embeddings = ml_models["embedder"].embed_documents(doc_texts)
210
+ sims = cosine_similarity([question_embeddings[q_idx]], doc_embeddings)[0]
211
+ top_k = 6
 
212
  top_indices = np.argsort(sims)[-top_k:][::-1]
213
  top_chunks = [doc_texts[j] for j in top_indices]
214
+ return "\n\n".join(top_chunks)
215
+ # Retrieve and rerank all in parallel
216
+ retrieved_chunks_all = await asyncio.gather(
217
+ *[async_retrieve_and_rerank(q, i) for i, q in enumerate(req.questions)]
218
+ )
219
 
220
  ####################################################################################################################
221