vanhai123's picture
Upload 9 files
36cac86 verified
raw
history blame contribute delete
1.32 kB
import os
from langchain_community.vectorstores import FAISS
from langchain_huggingface import HuggingFaceEmbeddings
# Hàm khởi tạo retriever
def load_retriever():
embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2")
vectorstore_path = "vectorstore"
# Kiểm tra nếu tồn tại index.faiss mới load
if os.path.exists(vectorstore_path) and os.path.exists(os.path.join(vectorstore_path, "index.faiss")):
retriever = FAISS.load_local(vectorstore_path, embeddings, allow_dangerous_deserialization=True).as_retriever(search_kwargs={"k": 5})
print("✅ Đã load vectorstore thành công.")
else:
retriever = None
print("⚠️ Vectorstore chưa tồn tại. Hãy upload tài liệu trước khi tìm kiếm.")
return retriever
# Lần đầu load retriever
retriever = load_retriever()
# Hàm reload retriever khi thêm tài liệu
def reload_retriever():
global retriever
retriever = load_retriever()
# Hàm retrieve_docs để lấy tài liệu
def retrieve_docs(query):
if retriever:
return retriever.get_relevant_documents(query)
else:
print("⚠️ Chưa có vectorstore để tìm kiếm. Bạn cần tải tài liệu trước.")
return []