From 98beda5532b9029e016d966cfc81bca1722d4c5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Boschi?= Date: Mon, 8 Jul 2024 09:59:34 +0200 Subject: [PATCH] fix: astradb ingests twice --- .../base/langflow/components/vectorstores/AstraDB.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/backend/base/langflow/components/vectorstores/AstraDB.py b/src/backend/base/langflow/components/vectorstores/AstraDB.py index 40b578932855..0850449acbb0 100644 --- a/src/backend/base/langflow/components/vectorstores/AstraDB.py +++ b/src/backend/base/langflow/components/vectorstores/AstraDB.py @@ -162,7 +162,8 @@ class AstraVectorStoreComponent(LCVectorStoreComponent): ), ] - def _build_vector_store_no_ingest(self): + def _build_vector_store(self): + # cache the vector store to avoid re-initializing and ingest data again if self._cached_vectorstore: return self._cached_vectorstore @@ -224,6 +225,8 @@ def _build_vector_store_no_ingest(self): except Exception as e: raise ValueError(f"Error initializing AstraDBVectorStore: {str(e)}") from e + self._add_documents_to_vector_store(vector_store) + self._cached_vectorstore = vector_store return vector_store @@ -266,8 +269,7 @@ def _build_search_args(self): return args def search_documents(self) -> list[Data]: - vector_store = self._build_vector_store_no_ingest() - self._add_documents_to_vector_store(vector_store) + vector_store = self._build_vector_store() logger.debug(f"Search input: {self.search_input}") logger.debug(f"Search type: {self.search_type}") @@ -300,6 +302,5 @@ def get_retriever_kwargs(self): } def build_vector_store(self): - vector_store = self._build_vector_store_no_ingest() - self._add_documents_to_vector_store(vector_store) + vector_store = self._build_vector_store() return vector_store