code: def __init__(self, collection_name: str, **kwargs) -> None:
      try_to_import_weaviate_client()
      global _weaviate_init_done
  
      self._collection_name = collection_name
  
      # Get the API key.
      self._api_key = kwargs.get("WEAVIATE_API_KEY")
  
      if not self._api_key:
          self._api_key = os.environ.get("WEAVIATE_API_KEY")
  
      assert (
          self._api_key
      ), "Please set your `WEAVIATE_API_KEY` using set command or environment variable (WEAVIATE_API_KEY). It can be found at the Details tab in WCS Dashboard."
  
      # Get the API Url.
      self._api_url = kwargs.get("WEAVIATE_API_URL")
  
      if not self._api_url:
          self._api_url = os.environ.get("WEAVIATE_API_URL")
  
      assert (
          self._api_url
      ), "Please set your `WEAVIATE_API_URL` using set command or environment variable (WEAVIATE_API_URL). It can be found at the Details tab in WCS Dashboard."
  
      if not _weaviate_init_done:
          # Initialize weaviate client
          import weaviate
  
          client = weaviate.Client(
              url=self._api_url,
              auth_client_secret=weaviate.AuthApiKey(
                  api_key=self._api_key
              ),
          )
          client.schema.get()
  
          _weaviate_init_done = True
  
      self._client = client
  
file_path: evadb/evadb/third_party/vector_stores/weaviate.py
imports: import os
  from typing import List
  from evadb.third_party.vector_stores.types import FeaturePayload, VectorIndexQuery, VectorIndexQueryResult, VectorStore
  from evadb.utils.generic_utils import try_to_import_weaviate_client
label_desc: Use image node_id 1 to create a new WeaviateVectorStore object from inherited base classes: VectorStore with example: obj = WeaviateVectorStore(collection_name)