import faiss import numpy as np def generate_faiss_index(embeddings): index = faiss.IndexFlatL2(768) # Assuming 768-dimensional embeddings for a model like MiniLM index.add(np.array(embeddings)) return index def load_faiss_index_to_gpu(index): res = faiss.StandardGpuResources() gpu_index = faiss.index_cpu_to_gpu(res, 0, index) # Load into GPU (assuming GPU 0 is available) return gpu_index def query_faiss_index(query_embedding, gpu_index): distances, indices = gpu_index.search(np.array([query_embedding]), 1) return indices, distances