import faiss | |
import numpy as np | |
from sentence_transformers import SentenceTransformer | |
def retrieve_relevant_chunks(query,embedder, k=5, index_path="faiss_index.idx", chunks_path="text_chunks.npy"): | |
index = faiss.read_index(index_path) | |
chunks = np.load(chunks_path, allow_pickle=True) | |
query_embedding = embedder.encode([query], convert_to_numpy=True) | |
distances, indices = index.search(query_embedding, k) | |
retrieved_chunks = [chunks[i] for i in indices[0]] | |
return retrieved_chunks | |