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