CoolFace
Apppublic

Aryan2301/YouTube_RAG_Intelligence

sourceHugging Faceupdated 16h agoView on Hugging Face
0likes
vectorstore.py26 linesDownload Raw Back to core
1from langchain_community.vectorstores import Chroma2from core.embeddings import load_embeddings3from core.chunking import create_timestamp_aware_chunks4from langchain_community.retrievers import BM25Retriever5 6def build_retrievers(video_id: str, transcript_segments: list):7    """8    Builds and returns both Semantic (FAISS) and Sparse (BM25) retrievers.9    """10    # 1. Create timestamp-aware chunks11    documents = create_timestamp_aware_chunks(video_id, transcript_segments)12    13    if not documents:14        raise ValueError("No valid chunks created from transcript segments.")15 16    # 2. Build Semantic Store (Chroma)17    embeddings = load_embeddings()18    vector_store = Chroma.from_documents(documents, embeddings)19    20    # 3. Build Sparse Retriever (BM25)21    try:22        bm25_retriever = BM25Retriever.from_documents(documents)23    except ImportError:24        bm25_retriever = None25        26    return vector_store, bm25_retriever