Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -99,7 +99,8 @@ async def lifespan(app: FastAPI):
|
|
| 99 |
ml_models["reranker_compressor"] = CrossEncoderReranker(model=cross_encoder_model, top_n=9)
|
| 100 |
ml_models["llm"] = ChatGoogleGenerativeAI(
|
| 101 |
# model="gemini-1.5-pro",
|
| 102 |
-
model="gemini-2.0-flash",
|
|
|
|
| 103 |
api_key=GOOGLE_API_KEY,
|
| 104 |
temperature=0.1,
|
| 105 |
max_output_tokens=300
|
|
@@ -201,8 +202,8 @@ async def run_hackrx(req: RunRequest):
|
|
| 201 |
return JSONResponse({"error": "No documents could be processed."}, status_code=400)
|
| 202 |
end_time = time.time() - start_time
|
| 203 |
print(f"chunking done: {end_time}")
|
| 204 |
-
if not chunks:
|
| 205 |
-
|
| 206 |
|
| 207 |
|
| 208 |
start_time2 = time.time()
|
|
@@ -227,22 +228,22 @@ async def run_hackrx(req: RunRequest):
|
|
| 227 |
# end_time2 = time.time() - start_time2
|
| 228 |
# print(f"vector done: {end_time2}")
|
| 229 |
# dense_retriever = vectorstore.as_retriever(search_type="mmr",search_kwargs={"k": 8})
|
| 230 |
-
dense_retriever = vectorstore.as_retriever(search_type="mmr",search_kwargs={"k":
|
| 231 |
|
| 232 |
|
| 233 |
# Create retrievers using the pre-loaded models from our ml_models dictionary
|
| 234 |
keyword_retriever = BM25Retriever.from_documents(chunks)
|
| 235 |
-
keyword_retriever.k =
|
| 236 |
# dense_retriever = Chroma.from_documents(documents=chunks, embedding=ml_models["embedder"]).as_retriever()
|
| 237 |
-
ensemble_retriever = EnsembleRetriever(retrievers=[keyword_retriever, dense_retriever], weights=[0.35, 0.65],search_kwargs={"k":
|
| 238 |
### to make it faster we are now using our built reranker thats why commenting the code below
|
| 239 |
-
compression_retriever = ContextualCompressionRetriever(
|
| 240 |
-
|
| 241 |
-
)
|
| 242 |
|
| 243 |
# Define the RAG chain using pre-loaded components
|
| 244 |
hybrid_rag_chain = (
|
| 245 |
-
{"context": itemgetter("full_query") |
|
| 246 |
| ml_models["prompt_template"]
|
| 247 |
| ml_models["llm"]
|
| 248 |
)
|
|
|
|
| 99 |
ml_models["reranker_compressor"] = CrossEncoderReranker(model=cross_encoder_model, top_n=9)
|
| 100 |
ml_models["llm"] = ChatGoogleGenerativeAI(
|
| 101 |
# model="gemini-1.5-pro",
|
| 102 |
+
# model="gemini-2.0-flash",
|
| 103 |
+
model="gemini-2.0-pro",
|
| 104 |
api_key=GOOGLE_API_KEY,
|
| 105 |
temperature=0.1,
|
| 106 |
max_output_tokens=300
|
|
|
|
| 202 |
return JSONResponse({"error": "No documents could be processed."}, status_code=400)
|
| 203 |
end_time = time.time() - start_time
|
| 204 |
print(f"chunking done: {end_time}")
|
| 205 |
+
# if not chunks:
|
| 206 |
+
# return JSONResponse({"error": "No documents could be processed."}, status_code=400)
|
| 207 |
|
| 208 |
|
| 209 |
start_time2 = time.time()
|
|
|
|
| 228 |
# end_time2 = time.time() - start_time2
|
| 229 |
# print(f"vector done: {end_time2}")
|
| 230 |
# dense_retriever = vectorstore.as_retriever(search_type="mmr",search_kwargs={"k": 8})
|
| 231 |
+
dense_retriever = vectorstore.as_retriever(search_type="mmr",search_kwargs={"k": 12 ,"lambda_mult": 0.5} )
|
| 232 |
|
| 233 |
|
| 234 |
# Create retrievers using the pre-loaded models from our ml_models dictionary
|
| 235 |
keyword_retriever = BM25Retriever.from_documents(chunks)
|
| 236 |
+
keyword_retriever.k = 8
|
| 237 |
# dense_retriever = Chroma.from_documents(documents=chunks, embedding=ml_models["embedder"]).as_retriever()
|
| 238 |
+
ensemble_retriever = EnsembleRetriever(retrievers=[keyword_retriever, dense_retriever], weights=[0.35, 0.65],search_kwargs={"k": 10})
|
| 239 |
### to make it faster we are now using our built reranker thats why commenting the code below
|
| 240 |
+
# compression_retriever = ContextualCompressionRetriever(
|
| 241 |
+
# base_retriever=ensemble_retriever, base_compressor=ml_models["reranker_compressor"]
|
| 242 |
+
# )
|
| 243 |
|
| 244 |
# Define the RAG chain using pre-loaded components
|
| 245 |
hybrid_rag_chain = (
|
| 246 |
+
{"context": itemgetter("full_query") | ensemble_retriever, "full_query": itemgetter("full_query")}
|
| 247 |
| ml_models["prompt_template"]
|
| 248 |
| ml_models["llm"]
|
| 249 |
)
|