From 0d9e80c6fb72d8ee588edf36e40ebbdd90707c26 Mon Sep 17 00:00:00 2001 From: Eric Hare Date: Mon, 4 Nov 2024 17:41:16 -0800 Subject: [PATCH] bugfix: Properly log and set metric to none by default in Astra DB Component (#4390) * bugfix: Properly log and set metric to none by default * Update Vector Store RAG.json * Update astradb.py --- .../components/vectorstores/astradb.py | 23 +++++++++---------- .../starter_projects/Vector Store RAG.json | 4 ++-- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/backend/base/langflow/components/vectorstores/astradb.py b/src/backend/base/langflow/components/vectorstores/astradb.py index fc61b4c88dd5..3f44c3587b8b 100644 --- a/src/backend/base/langflow/components/vectorstores/astradb.py +++ b/src/backend/base/langflow/components/vectorstores/astradb.py @@ -2,7 +2,6 @@ import orjson from astrapy.admin import parse_api_endpoint -from loguru import logger from langflow.base.vectorstores.model import LCVectorStoreComponent, check_cached_vector_store from langflow.helpers import docs_to_data @@ -219,7 +218,7 @@ def insert_in_dict(self, build_config, field_name, new_parameters): # Find the index of the key to insert after idx = len(items) - for i, (key, _value) in enumerate(items): + for i, (key, _) in enumerate(items): if key == field_name: idx = i + 1 break @@ -412,8 +411,8 @@ def build_vector_store(self, vectorize_options=None): token=self.token, api_endpoint=self.api_endpoint, namespace=self.namespace or None, - environment=parse_api_endpoint(self.api_endpoint).environment, - metric=self.metric, + environment=parse_api_endpoint(self.api_endpoint).environment if self.api_endpoint else None, + metric=self.metric or None, batch_size=self.batch_size or None, bulk_insert_batch_concurrency=self.bulk_insert_batch_concurrency or None, bulk_insert_overwrite_concurrency=self.bulk_insert_overwrite_concurrency or None, @@ -445,14 +444,14 @@ def _add_documents_to_vector_store(self, vector_store) -> None: raise TypeError(msg) if documents: - logger.debug(f"Adding {len(documents)} documents to the Vector Store.") + self.log(f"Adding {len(documents)} documents to the Vector Store.") try: vector_store.add_documents(documents) except Exception as e: msg = f"Error adding documents to AstraDBVectorStore: {e}" raise ValueError(msg) from e else: - logger.debug("No documents to add to the Vector Store.") + self.log("No documents to add to the Vector Store.") def _map_search_type(self) -> str: if self.search_type == "Similarity with score threshold": @@ -477,9 +476,9 @@ def search_documents(self, vector_store=None) -> list[Data]: if not vector_store: vector_store = self.build_vector_store() - logger.debug(f"Search input: {self.search_input}") - logger.debug(f"Search type: {self.search_type}") - logger.debug(f"Number of results: {self.number_of_results}") + self.log(f"Search input: {self.search_input}") + self.log(f"Search type: {self.search_type}") + self.log(f"Number of results: {self.number_of_results}") if self.search_input and isinstance(self.search_input, str) and self.search_input.strip(): try: @@ -491,13 +490,13 @@ def search_documents(self, vector_store=None) -> list[Data]: msg = f"Error performing search in AstraDBVectorStore: {e}" raise ValueError(msg) from e - logger.debug(f"Retrieved documents: {len(docs)}") + self.log(f"Retrieved documents: {len(docs)}") data = docs_to_data(docs) - logger.debug(f"Converted documents to data: {len(data)}") + self.log(f"Converted documents to data: {len(data)}") self.status = data return data - logger.debug("No search input provided. Skipping search.") + self.log("No search input provided. Skipping search.") return [] def get_retriever_kwargs(self): diff --git a/src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json b/src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json index a3038c0e04cd..7b52c34036e1 100644 --- a/src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json +++ b/src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json @@ -889,7 +889,7 @@ "title_case": false, "trace_as_metadata": true, "type": "str", - "value": "" + "value": "cosine" }, "namespace": { "advanced": true, @@ -2222,7 +2222,7 @@ "title_case": false, "trace_as_metadata": true, "type": "str", - "value": "" + "value": "cosine" }, "namespace": { "advanced": true,