From 0e80ebd3cd86929801a47e97c34fbe596bc8c25b Mon Sep 17 00:00:00 2001 From: Edwin Jose Date: Mon, 30 Sep 2024 15:53:25 -0400 Subject: [PATCH] feat(Weaviate): Enforce capitalized index name (#3791) feat(Weaviate): Enforce capitalized index name Checks if the index name is capitalized or not. --- .../langflow/components/vectorstores/Weaviate.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/backend/base/langflow/components/vectorstores/Weaviate.py b/src/backend/base/langflow/components/vectorstores/Weaviate.py index dd4109cec..af32cbd2f 100644 --- a/src/backend/base/langflow/components/vectorstores/Weaviate.py +++ b/src/backend/base/langflow/components/vectorstores/Weaviate.py @@ -1,4 +1,4 @@ -import weaviate # type: ignore +import weaviate from langchain_community.vectorstores import Weaviate from langflow.base.vectorstores.model import LCVectorStoreComponent, check_cached_vector_store @@ -17,7 +17,12 @@ class WeaviateVectorStoreComponent(LCVectorStoreComponent): inputs = [ StrInput(name="url", display_name="Weaviate URL", value="http://localhost:8080", required=True), SecretStrInput(name="api_key", display_name="API Key", required=False), - StrInput(name="index_name", display_name="Index Name", required=True), + StrInput( + name="index_name", + display_name="Index Name", + required=True, + info="Requires capitalized index name.", + ), StrInput(name="text_key", display_name="Text Key", value="text", advanced=True), MultilineInput(name="search_query", display_name="Search Query"), DataInput( @@ -44,6 +49,9 @@ class WeaviateVectorStoreComponent(LCVectorStoreComponent): else: client = weaviate.Client(url=self.url) + if self.index_name != self.index_name.capitalize(): + raise ValueError(f"Weaviate requires the index name to be capitalized. Use: {self.index_name.capitalize()}") + documents = [] for _input in self.ingest_data or []: if isinstance(_input, Data):