Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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":
|
| 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 =
|
| 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 =
|
| 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 = (
|