PadmasaliGovardhan
initial Commit
69f4d17
raw
history blame
959 Bytes
# backend/store.py
import os
import chromadb
from chromadb.config import Settings
class VectorStore:
def __init__(self, path="../data/vector_store"):
self.client = chromadb.PersistentClient(path=path, settings=Settings(anonymized_telemetry=False))
self.collection = self.client.get_or_create_collection(name="ece_concepts")
print(f"✅ Vector store initialized at {path}")
def add_documents(self, docs, embeddings):
"""Store docs with embeddings"""
ids = [str(i) for i in range(len(docs))]
self.collection.add(documents=docs, embeddings=embeddings.tolist(), ids=ids)
print(f"🧠 Stored {len(docs)} chunks in vector DB.")
def retrieve_similar_docs(self, query_embedding, top_k=3):
"""Retrieve top-k relevant chunks"""
results = self.collection.query(query_embeddings=[query_embedding.tolist()], n_results=top_k)
docs = results["documents"][0]
return docs