RAG_LangGraph / src /vectorstore.py
Anandharajan's picture
Sync Space with LangGraph RAG app
99f19b3
import os
from langchain_community.vectorstores import FAISS
try:
# Preferred newer package
from langchain_huggingface import HuggingFaceEmbeddings
except ImportError:
# Fallback to older location if extra package is missing
from langchain_community.embeddings import HuggingFaceEmbeddings
from .config import EMBEDDING_MODEL_NAME, VECTORSTORE_PATH
def get_embeddings():
"""
Initializes the embedding model.
"""
return HuggingFaceEmbeddings(model_name=EMBEDDING_MODEL_NAME)
def create_vectorstore(chunks):
"""
Creates a FAISS vector store from chunks and saves it locally.
"""
embeddings = get_embeddings()
vectorstore = FAISS.from_documents(chunks, embeddings)
vectorstore.save_local(str(VECTORSTORE_PATH))
return vectorstore
def load_vectorstore():
"""
Loads the FAISS vector store from disk.
"""
embeddings = get_embeddings()
if os.path.exists(VECTORSTORE_PATH):
return FAISS.load_local(str(VECTORSTORE_PATH), embeddings, allow_dangerous_deserialization=True)
return None