AnyRAG-WebSearch / src /vector_store.py
Rashid Ali
initial commit
aaa9e08
raw
history blame contribute delete
830 Bytes
import os
from langchain.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings
from langchain_community.embeddings import HuggingFaceEmbeddings
from dotenv import load_dotenv
load_dotenv()
def get_embedding_model(model_choice):
if model_choice == "OpenAI (Paid)":
return OpenAIEmbeddings(api_key=os.getenv("OPENAI_API_KEY"))
else:
return HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2")
def build_vector_store(chunks, save_path, model_choice):
embedding_model = get_embedding_model(model_choice)
db = FAISS.from_documents(chunks, embedding_model)
db.save_local(save_path)
return db
def load_vector_store(load_path, model_choice):
embedding_model = get_embedding_model(model_choice)
return FAISS.load_local(load_path, embedding_model)