Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -143,22 +143,15 @@ def parse_llm_response(content: str) -> str:
|
|
| 143 |
# --- 5. Main API Endpoint ---
|
| 144 |
@app.post("/api/v1/hackrx/run", response_model=RunResponse, dependencies=[Depends(verify_api_key)])
|
| 145 |
async def run_hackrx(req: RunRequest):
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
|
| 150 |
|
| 151 |
####code for parallel####################################################################################
|
| 152 |
-
all_chunks = []
|
| 153 |
-
for doc_url in req.documents:
|
| 154 |
-
chunks = load_and_chunk(doc_url)
|
| 155 |
-
all_chunks.extend(chunks)
|
| 156 |
-
|
| 157 |
-
if not all_chunks:
|
| 158 |
-
return JSONResponse({"error": "No documents could be processed."}, status_code=400)
|
| 159 |
|
| 160 |
vectorstore = await FAISS.afrom_documents(
|
| 161 |
-
documents=
|
| 162 |
embedding=ml_models["embedder"]
|
| 163 |
)
|
| 164 |
|
|
@@ -166,7 +159,7 @@ async def run_hackrx(req: RunRequest):
|
|
| 166 |
|
| 167 |
|
| 168 |
# Create retrievers using the pre-loaded models from our ml_models dictionary
|
| 169 |
-
keyword_retriever = BM25Retriever.from_documents(
|
| 170 |
keyword_retriever.k = 3
|
| 171 |
# dense_retriever = Chroma.from_documents(documents=chunks, embedding=ml_models["embedder"]).as_retriever()
|
| 172 |
ensemble_retriever = EnsembleRetriever(retrievers=[keyword_retriever, dense_retriever], weights=[0.4, 0.65])
|
|
|
|
| 143 |
# --- 5. Main API Endpoint ---
|
| 144 |
@app.post("/api/v1/hackrx/run", response_model=RunResponse, dependencies=[Depends(verify_api_key)])
|
| 145 |
async def run_hackrx(req: RunRequest):
|
| 146 |
+
chunks = load_and_chunk(str(req.documents))
|
| 147 |
+
if not chunks:
|
| 148 |
+
return JSONResponse({"error": "No documents could be processed."}, status_code=400)
|
| 149 |
|
| 150 |
|
| 151 |
####code for parallel####################################################################################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 152 |
|
| 153 |
vectorstore = await FAISS.afrom_documents(
|
| 154 |
+
documents=chunks,
|
| 155 |
embedding=ml_models["embedder"]
|
| 156 |
)
|
| 157 |
|
|
|
|
| 159 |
|
| 160 |
|
| 161 |
# Create retrievers using the pre-loaded models from our ml_models dictionary
|
| 162 |
+
keyword_retriever = BM25Retriever.from_documents(chunks)
|
| 163 |
keyword_retriever.k = 3
|
| 164 |
# dense_retriever = Chroma.from_documents(documents=chunks, embedding=ml_models["embedder"]).as_retriever()
|
| 165 |
ensemble_retriever = EnsembleRetriever(retrievers=[keyword_retriever, dense_retriever], weights=[0.4, 0.65])
|