class_docstr: This handler handles connection and execution of the ChromaDB statements.
class_docstr_tok: ["This","handler","handles","connection","and","execution","of","the","ChromaDB","statements","."]
code: def _get_client(self):
      client_config = self._client_config
      if client_config is None:
          raise Exception("Client config is not set!")
  
      chromadb = get_chromadb()
  
      # decide the client type to be used, either persistent or httpclient
      if client_config["persist_directory"] is not None:
          return chromadb.PersistentClient(
              path=client_config["persist_directory"]
          )
      else:
          return chromadb.HttpClient(
              host=client_config["chroma_server_host"],
              port=client_config["chroma_server_http_port"],
          )
  
imports: import sys
  from collections import OrderedDict
  from typing import List, Optional
  import pandas
  from mindsdb.integrations.handlers.chromadb_handler.settings import ChromaHandlerConfig
  from mindsdb.integrations.libs.const import HANDLER_CONNECTION_ARG_TYPE
  from mindsdb.integrations.libs.response import RESPONSE_TYPE
  from mindsdb.integrations.libs.response import HandlerResponse
  from mindsdb.integrations.libs.response import HandlerResponse
  from mindsdb.integrations.libs.response import HandlerStatusResponse
  from mindsdb.integrations.libs.vectordatabase_handler import FilterCondition, FilterOperator, TableField, VectorStoreHandler
  from mindsdb.interfaces.storage.model_fs import HandlerStorage
  from mindsdb.utilities import log
label_desc: Use image node_id 3 for calling the ChromaDBHandler obj's underlying member method code with example usage: obj._get_client() and returns: chromadb, chromadb