Spaces:
Sleeping
Sleeping
from langchain_community.embeddings import HuggingFaceEmbeddings | |
from langchain_community.vectorstores import FAISS | |
from langchain_community.document_loaders import PyPDFLoader, DirectoryLoader | |
from langchain.text_splitter import RecursiveCharacterTextSplitter | |
from dotenv import load_dotenv | |
import os | |
import logging | |
load_dotenv() | |
logging.basicConfig(level=logging.INFO) | |
logger = logging.getLogger(__name__) | |
def load_embeddings(): | |
return HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2", model_kwargs={"device": "cpu"}) | |
def load_vector_database(embeddings): | |
try: | |
db = FAISS.load_local("vectorstore/db_faiss", embeddings, allow_dangerous_deserialization=True) | |
logger.info("Vector database loaded successfully!") | |
return db | |
except Exception as e: | |
logger.error(f"Failed to load vector database: {e}") | |
raise e | |
embeddings = load_embeddings() | |
vector_db = load_vector_database(embeddings) | |