From ca3e549dd4f35d3c7b3b33ff85a32e861f6ccd83 Mon Sep 17 00:00:00 2001 From: shivanandmn Date: Thu, 12 Oct 2023 13:29:52 +0530 Subject: [PATCH 1/2] added delete index of vector store in faiss --- application/vectorstore/faiss.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/application/vectorstore/faiss.py b/application/vectorstore/faiss.py index 217b045..e5e8f7f 100644 --- a/application/vectorstore/faiss.py +++ b/application/vectorstore/faiss.py @@ -24,3 +24,6 @@ class FaissStore(BaseVectorStore): def save_local(self, *args, **kwargs): return self.docsearch.save_local(*args, **kwargs) + + def delete_index(self, *args, **kwargs): + return self.docsearch.delete(*args, **kwargs) From 2e95666939a5df2ea0d1c8be2d47a54b5820103c Mon Sep 17 00:00:00 2001 From: shivanandmn Date: Mon, 16 Oct 2023 02:46:48 +0530 Subject: [PATCH 2/2] added new endpoint --- application/api/user/routes.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/application/api/user/routes.py b/application/api/user/routes.py index fdff2e9..b80562b 100644 --- a/application/api/user/routes.py +++ b/application/api/user/routes.py @@ -84,6 +84,19 @@ def api_feedback(): ) return {"status": http.client.responses.get(response.status_code, "ok")} +@user.route("/api/delete_by_ids", methods=["get"]) +def delete_by_ids(): + """Delete by ID. These are the IDs in the vectorstore""" + + ids = request.args.get("path") + if not ids: + return {"status": "error"} + + if settings.VECTOR_STORE == "faiss": + result = vectors_collection.delete_index(ids=ids) + if result: + return {"status": "ok"} + return {"status": "error"} @user.route("/api/delete_old", methods=["get"]) def delete_old():