import os from dotenv import load_dotenv from langchain_chroma import Chroma load_dotenv() persist_directory = os.getenv("VECTOR_STORE") def create_vector_store(documents, unique_ids, embeddings): """ Creates a new vector store with the given documents, unique IDs, and embeddings. """ vector_store = Chroma( collection_name="NCERT-Chapters", embedding_function=embeddings, persist_directory=persist_directory ) vector_store.add_documents(documents=documents, ids=unique_ids) vector_store.persist() return vector_store def load_vector_store(embeddings): """ Loads an existing vector store using the embeddings provided. """ return Chroma( collection_name="NCERT-Chapters", persist_directory=persist_directory, embedding_function=embeddings ) def get_retriever(vector_store, k=5): """ Returns a retriever object to search through the vector store. """ return vector_store.as_retriever(search_kwargs={"k": k})