Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -154,6 +154,7 @@ def parse_llm_response(content: str) -> str:
|
|
| 154 |
@app.post("/api/v1/hackrx/run", response_model=RunResponse, dependencies=[Depends(verify_api_key)])
|
| 155 |
async def run_hackrx(req: RunRequest):
|
| 156 |
chunks = load_and_chunk(str(req.documents))
|
|
|
|
| 157 |
if not chunks:
|
| 158 |
return JSONResponse({"error": "No documents could be processed."}, status_code=400)
|
| 159 |
|
|
@@ -163,23 +164,23 @@ async def run_hackrx(req: RunRequest):
|
|
| 163 |
)
|
| 164 |
|
| 165 |
# dense_retriever = vectorstore.as_retriever(search_type="mmr",search_kwargs={"k": 8})
|
| 166 |
-
dense_retriever = vectorstore.as_retriever(search_type="mmr",search_kwargs={"k":
|
| 167 |
|
| 168 |
|
| 169 |
# Create retrievers using the pre-loaded models from our ml_models dictionary
|
| 170 |
keyword_retriever = BM25Retriever.from_documents(chunks)
|
| 171 |
-
keyword_retriever.k =
|
| 172 |
# dense_retriever = Chroma.from_documents(documents=chunks, embedding=ml_models["embedder"]).as_retriever()
|
| 173 |
-
ensemble_retriever = EnsembleRetriever(retrievers=[keyword_retriever, dense_retriever], weights=[0.4, 0.6],search_kwargs={"k":
|
| 174 |
### to make it faster we are now using our built reranker thats why commenting the code below
|
| 175 |
-
compression_retriever = ContextualCompressionRetriever(
|
| 176 |
-
|
| 177 |
-
)
|
| 178 |
|
| 179 |
|
| 180 |
# Define the RAG chain using pre-loaded components
|
| 181 |
hybrid_rag_chain = (
|
| 182 |
-
{"context": itemgetter("full_query") |
|
| 183 |
| ml_models["prompt_template"]
|
| 184 |
| ml_models["llm"]
|
| 185 |
)
|
|
|
|
| 154 |
@app.post("/api/v1/hackrx/run", response_model=RunResponse, dependencies=[Depends(verify_api_key)])
|
| 155 |
async def run_hackrx(req: RunRequest):
|
| 156 |
chunks = load_and_chunk(str(req.documents))
|
| 157 |
+
print("chunking done")
|
| 158 |
if not chunks:
|
| 159 |
return JSONResponse({"error": "No documents could be processed."}, status_code=400)
|
| 160 |
|
|
|
|
| 164 |
)
|
| 165 |
|
| 166 |
# dense_retriever = vectorstore.as_retriever(search_type="mmr",search_kwargs={"k": 8})
|
| 167 |
+
dense_retriever = vectorstore.as_retriever(search_type="mmr",search_kwargs={"k": 12 ,"lambda_mult": 0.5} )
|
| 168 |
|
| 169 |
|
| 170 |
# Create retrievers using the pre-loaded models from our ml_models dictionary
|
| 171 |
keyword_retriever = BM25Retriever.from_documents(chunks)
|
| 172 |
+
keyword_retriever.k = 8
|
| 173 |
# dense_retriever = Chroma.from_documents(documents=chunks, embedding=ml_models["embedder"]).as_retriever()
|
| 174 |
+
ensemble_retriever = EnsembleRetriever(retrievers=[keyword_retriever, dense_retriever], weights=[0.4, 0.6],search_kwargs={"k": 11})
|
| 175 |
### to make it faster we are now using our built reranker thats why commenting the code below
|
| 176 |
+
# compression_retriever = ContextualCompressionRetriever(
|
| 177 |
+
# base_retriever=ensemble_retriever, base_compressor=ml_models["reranker_compressor"]
|
| 178 |
+
# )
|
| 179 |
|
| 180 |
|
| 181 |
# Define the RAG chain using pre-loaded components
|
| 182 |
hybrid_rag_chain = (
|
| 183 |
+
{"context": itemgetter("full_query") | ensemble_retriever, "full_query": itemgetter("full_query")}
|
| 184 |
| ml_models["prompt_template"]
|
| 185 |
| ml_models["llm"]
|
| 186 |
)
|