ilaa-chenjeri-15's picture
Initial commit: Explainable RAG system
2db7cb0
Raw
History Blame Contribute Delete
1.09 kB
import json
from tqdm import tqdm
from sentence_transformers import SentenceTransformer
from chromadb import PersistentClient
model = SentenceTransformer("BAAI/bge-small-en-v1.5")
client = PersistentClient(path="embeddings/")
collection = client.get_or_create_collection(name="rag_docs")
def embed_and_store(input_path="processed/chunks.json"):
with open(input_path, "r") as f:
chunks = json.load(f)
documents, metadatas, ids = [], [], []
for i, chunk in enumerate(tqdm(chunks)):
documents.append("passage: " + chunk["text"])
metadatas.append(chunk["metadata"])
ids.append(f"chunk_{i}")
client.delete_collection(name="rag_docs")
collection = client.get_or_create_collection(name="rag_docs")
embeddings = model.encode(
documents,
batch_size=32,
normalize_embeddings=True,
show_progress_bar=True
)
collection.add(
documents=documents,
metadatas=metadatas,
ids=ids,
embeddings=embeddings.tolist()
)
if __name__ == "__main__":
embed_and_store()