Update advanced_rag.py
Browse files- advanced_rag.py +5 -3
advanced_rag.py
CHANGED
|
@@ -10,7 +10,8 @@ from langchain.llms import HuggingFacePipeline
|
|
| 10 |
from langchain_community.document_loaders import OnlinePDFLoader
|
| 11 |
from langchain.text_splitter import RecursiveCharacterTextSplitter
|
| 12 |
from langchain_community.vectorstores import FAISS
|
| 13 |
-
|
|
|
|
| 14 |
from langchain_community.retrievers import BM25Retriever
|
| 15 |
from langchain.retrievers import EnsembleRetriever
|
| 16 |
from langchain.prompts import ChatPromptTemplate
|
|
@@ -56,7 +57,8 @@ class ElevatedRagChain:
|
|
| 56 |
"""
|
| 57 |
Initialize the class with a predefined embedding function, weights, and top_k value.
|
| 58 |
"""
|
| 59 |
-
|
|
|
|
| 60 |
self.bm25_weight = 0.6
|
| 61 |
self.faiss_weight = 0.4
|
| 62 |
self.top_k = 5
|
|
@@ -101,7 +103,7 @@ class ElevatedRagChain:
|
|
| 101 |
- A DeepSeek model (via a HuggingFace pipeline)
|
| 102 |
|
| 103 |
Note: The retrieval is performed using an ensemble of BM25 and FAISS retrievers
|
| 104 |
-
without applying
|
| 105 |
"""
|
| 106 |
# Combine BM25 and FAISS retrievers into an ensemble retriever
|
| 107 |
self.ensemble_retriever = EnsembleRetriever(
|
|
|
|
| 10 |
from langchain_community.document_loaders import OnlinePDFLoader
|
| 11 |
from langchain.text_splitter import RecursiveCharacterTextSplitter
|
| 12 |
from langchain_community.vectorstores import FAISS
|
| 13 |
+
# Replace CohereEmbeddings with HuggingFaceEmbeddings
|
| 14 |
+
from langchain.embeddings import HuggingFaceEmbeddings
|
| 15 |
from langchain_community.retrievers import BM25Retriever
|
| 16 |
from langchain.retrievers import EnsembleRetriever
|
| 17 |
from langchain.prompts import ChatPromptTemplate
|
|
|
|
| 57 |
"""
|
| 58 |
Initialize the class with a predefined embedding function, weights, and top_k value.
|
| 59 |
"""
|
| 60 |
+
# Use HuggingFaceEmbeddings with a model that doesn't require an API key.
|
| 61 |
+
self.embed_func = HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2")
|
| 62 |
self.bm25_weight = 0.6
|
| 63 |
self.faiss_weight = 0.4
|
| 64 |
self.top_k = 5
|
|
|
|
| 103 |
- A DeepSeek model (via a HuggingFace pipeline)
|
| 104 |
|
| 105 |
Note: The retrieval is performed using an ensemble of BM25 and FAISS retrievers
|
| 106 |
+
without applying any additional reranking.
|
| 107 |
"""
|
| 108 |
# Combine BM25 and FAISS retrievers into an ensemble retriever
|
| 109 |
self.ensemble_retriever = EnsembleRetriever(
|