diff --git a/semantic_router/index/base.py b/semantic_router/index/base.py index 8bb7e1e61607571eef59bcadec6a4701bbf40b03..46d5abb35d464638c341b97146a3a728e46a40fb 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 4db314c6e64e802c8fcb92b0cbbf549c479ed872..fe6a37b0ea939296e62be9bc165c4d6beb8ba653 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