singhankur01 commited on
Commit
2c9fac4
·
verified ·
1 Parent(s): 58a5dc2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -4
app.py CHANGED
@@ -22,7 +22,7 @@ from langchain_huggingface import HuggingFaceEmbeddings # Correct new import
22
  # from langchain_chroma import Chroma
23
  from langchain_community.retrievers import BM25Retriever
24
  from langchain.retrievers import EnsembleRetriever, ContextualCompressionRetriever
25
- from langchain.retrievers.document_compressors import CrossEncoderReranker
26
  from langchain_community.cross_encoders import HuggingFaceCrossEncoder
27
  from langchain.prompts import PromptTemplate
28
 
@@ -157,18 +157,21 @@ async def run_hackrx(req: RunRequest):
157
  embedding=ml_models["embedder"]
158
  )
159
 
160
- dense_retriever = vectorstore.as_retriever(search_kwargs={"k": 4})
161
 
162
 
163
  # Create retrievers using the pre-loaded models from our ml_models dictionary
164
  keyword_retriever = BM25Retriever.from_documents(chunks)
165
- keyword_retriever.k = 3
166
  # dense_retriever = Chroma.from_documents(documents=chunks, embedding=ml_models["embedder"]).as_retriever()
167
  ensemble_retriever = EnsembleRetriever(retrievers=[keyword_retriever, dense_retriever], weights=[0.4, 0.6])
168
 
169
- compression_retriever = ContextualCompressionRetriever(
170
  base_retriever=ensemble_retriever, base_compressor=ml_models["reranker_compressor"]
171
  )
 
 
 
172
 
173
  # Define the RAG chain using pre-loaded components
174
  hybrid_rag_chain = (
 
22
  # from langchain_chroma import Chroma
23
  from langchain_community.retrievers import BM25Retriever
24
  from langchain.retrievers import EnsembleRetriever, ContextualCompressionRetriever
25
+ from langchain.retrievers.document_compressors import CrossEncoderReranker , DocumentCompressorPipeline
26
  from langchain_community.cross_encoders import HuggingFaceCrossEncoder
27
  from langchain.prompts import PromptTemplate
28
 
 
157
  embedding=ml_models["embedder"]
158
  )
159
 
160
+ dense_retriever = vectorstore.as_retriever(search_type="mmr",search_kwargs={"k": 8})
161
 
162
 
163
  # Create retrievers using the pre-loaded models from our ml_models dictionary
164
  keyword_retriever = BM25Retriever.from_documents(chunks)
165
+ keyword_retriever.k = 5
166
  # dense_retriever = Chroma.from_documents(documents=chunks, embedding=ml_models["embedder"]).as_retriever()
167
  ensemble_retriever = EnsembleRetriever(retrievers=[keyword_retriever, dense_retriever], weights=[0.4, 0.6])
168
 
169
+ compression_retriever = DocumentCompressorPipeline(
170
  base_retriever=ensemble_retriever, base_compressor=ml_models["reranker_compressor"]
171
  )
172
+ # compression_retriever = ContextualCompressionRetriever(
173
+ # base_retriever=ensemble_retriever, base_compressor=ml_models["reranker_compressor"]
174
+ # )
175
 
176
  # Define the RAG chain using pre-loaded components
177
  hybrid_rag_chain = (