Spaces:
Paused
Paused
Create retriever.py
Browse files- src/retriever.py +17 -0
src/retriever.py
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import pickle
|
2 |
+
from langchain.vectorstores import FAISS
|
3 |
+
from langchain_huggingface import HuggingFaceEmbeddings
|
4 |
+
|
5 |
+
DB_PATH = "data/faiss_index"
|
6 |
+
METADATA_PATH = "data/metadata.pkl"
|
7 |
+
|
8 |
+
cached_retriever = None
|
9 |
+
|
10 |
+
def setup_retriever():
|
11 |
+
global cached_retriever
|
12 |
+
if cached_retriever is None:
|
13 |
+
db = FAISS.load_local(DB_PATH, HuggingFaceEmbeddings(model_name='BAAI/bge-base-en-v1.5'))
|
14 |
+
with open(METADATA_PATH, "rb") as f:
|
15 |
+
chunked_docs = pickle.load(f)
|
16 |
+
cached_retriever = db.as_retriever(search_type="similarity", search_kwargs={'k': 4})
|
17 |
+
return cached_retriever
|