From 352f2c36fe57ae5e188b5bfe80b4471789898091 Mon Sep 17 00:00:00 2001
From: James Briggs <james.briggs@hotmail.com>
Date: Mon, 11 Nov 2024 23:19:55 +0100
Subject: [PATCH] fix: add delete_all method

---
 semantic_router/index/base.py | 12 +++++++++++-
 tests/unit/test_layer.py      |  4 ++--
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/semantic_router/index/base.py b/semantic_router/index/base.py
index 8bb7e1e6..46d5abb3 100644
--- a/semantic_router/index/base.py
+++ b/semantic_router/index/base.py
@@ -136,12 +136,22 @@ class BaseIndex(BaseModel):
         """
         raise NotImplementedError("This method should be implemented by subclasses.")
 
+    def delete_all(self):
+        """
+        Deletes all records from the index.
+        """
+        logger.warning("This method should be implemented by subclasses.")
+        self.index = None
+        self.routes = None
+        self.utterances = None
+
     def delete_index(self):
         """
         Deletes or resets the index.
         This method should be implemented by subclasses.
         """
-        raise NotImplementedError("This method should be implemented by subclasses.")
+        logger.warning("This method should be implemented by subclasses.")
+        self.index = None
 
     def is_synced(
         self,
diff --git a/tests/unit/test_layer.py b/tests/unit/test_layer.py
index 4db314c6..fe6a37b0 100644
--- a/tests/unit/test_layer.py
+++ b/tests/unit/test_layer.py
@@ -237,8 +237,8 @@ class TestRouteLayer:
         assert openai_encoder.score_threshold == 0.3
         assert route_layer_openai.score_threshold == 0.3
 
-    def test_delete_all(self, openai_encoder, index_cls):
-        index = init_index(index_cls, sync="local")
+    def test_delete_all(self, openai_encoder, routes, index_cls):
+        index = init_index(index_cls)
         route_layer = RouteLayer(encoder=openai_encoder, routes=routes, index=index)
         if index_cls is PineconeIndex:
             time.sleep(PINECONE_SLEEP)  # allow for index to be populated
-- 
GitLab