| def retrieve(query_embedding, index, metadata, top_k=3): | |
| distances, indices = index.search(query_embedding, top_k) | |
| results = [] | |
| for distance, idx in zip(distances[0], indices[0]): | |
| results.append({ | |
| "text": metadata[idx]["text"], | |
| "source": metadata[idx]["filename"], | |
| "distance": float(distance) | |
| }) | |
| return results |