From a97b5eee751f71427be628755744c914e3e4852d Mon Sep 17 00:00:00 2001 From: joaoguilhermeS Date: Sat, 22 Jun 2024 16:46:28 -0300 Subject: [PATCH] chore: Updating Courchbase Vector Store parameters format --- .../components/vectorstores/Couchbase.py | 66 ++++++++----------- 1 file changed, 27 insertions(+), 39 deletions(-) diff --git a/src/backend/base/langflow/components/vectorstores/Couchbase.py b/src/backend/base/langflow/components/vectorstores/Couchbase.py index 56a01d0db..1355f7802 100644 --- a/src/backend/base/langflow/components/vectorstores/Couchbase.py +++ b/src/backend/base/langflow/components/vectorstores/Couchbase.py @@ -12,29 +12,26 @@ from langflow.schema import Data class CouchbaseVectorStoreComponent(LCVectorStoreComponent): display_name = "Couchbase" description = "Couchbase Vector Store with search capabilities" - documentation = "https://python.langchain.com/docs/modules/data_connection/vectorstores/integrations/couchbase" + documentation = "https://python.langchain.com/v0.1/docs/integrations/document_loaders/couchbase/" icon = "Couchbase" inputs = [ - StrInput(name="couchbase_connection_string", display_name="Couchbase Cluster connection string", required=True), + SecretStrInput( + name="couchbase_connection_string", display_name="Couchbase Cluster connection string", required=True + ), StrInput(name="couchbase_username", display_name="Couchbase username", required=True), SecretStrInput(name="couchbase_password", display_name="Couchbase password", required=True), StrInput(name="bucket_name", display_name="Bucket Name", required=True), StrInput(name="scope_name", display_name="Scope Name", required=True), StrInput(name="collection_name", display_name="Collection Name", required=True), StrInput(name="index_name", display_name="Index Name", required=True), - HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]), + MultilineInput(name="search_query", display_name="Search Query"), DataInput( - name="vector_store_inputs", - display_name="Vector Store Inputs", + name="ingest_data", + display_name="Ingest Data", is_list=True, ), - BoolInput( - name="add_to_vector_store", - display_name="Add to Vector Store", - info="If true, the Vector Store Inputs will be added to the Vector Store.", - ), - MultilineInput(name="search_input", display_name="Search Input"), + HandleInput(name="embedding", display_name="Embedding", input_types=["Embeddings"]), IntInput( name="number_of_results", display_name="Number of Results", @@ -66,33 +63,24 @@ class CouchbaseVectorStoreComponent(LCVectorStoreComponent): except Exception as e: raise ValueError(f"Failed to connect to Couchbase: {e}") - if self.add_to_vector_store: - documents = [] - for _input in self.vector_store_inputs or []: - if isinstance(_input, Data): - documents.append(_input.to_lc_document()) - else: - documents.append(_input) - - if documents: - couchbase_vs = CouchbaseVectorStore.from_documents( - documents=documents, - cluster=cluster, - bucket_name=self.bucket_name, - scope_name=self.scope_name, - collection_name=self.collection_name, - embedding=self.embedding, - index_name=self.index_name, - ) + documents = [] + for _input in self.ingest_data or []: + if isinstance(_input, Data): + documents.append(_input.to_lc_document()) else: - couchbase_vs = CouchbaseVectorStore( - cluster=cluster, - bucket_name=self.bucket_name, - scope_name=self.scope_name, - collection_name=self.collection_name, - embedding=self.embedding, - index_name=self.index_name, - ) + documents.append(_input) + + if documents: + couchbase_vs = CouchbaseVectorStore.from_documents( + documents=documents, + cluster=cluster, + bucket_name=self.bucket_name, + scope_name=self.scope_name, + collection_name=self.collection_name, + embedding=self.embedding, + index_name=self.index_name, + ) + else: couchbase_vs = CouchbaseVectorStore( cluster=cluster, @@ -108,9 +96,9 @@ class CouchbaseVectorStoreComponent(LCVectorStoreComponent): def search_documents(self) -> List[Data]: vector_store = self._build_couchbase() - if self.search_input and isinstance(self.search_input, str) and self.search_input.strip(): + if self.search_query and isinstance(self.search_query, str) and self.search_query.strip(): docs = vector_store.similarity_search( - query=self.search_input, + query=self.search_query, k=self.number_of_results, )