code: def create_collection(
      self,
      dimension,
      data_type=DataType.FLOAT_VECTOR,
      auto_id=False,
      collection_name=None,
      other_fields=None,
  ):
      self._dimension = dimension
      if not collection_name:
          collection_name = self._collection_name
      vec_field_name = utils.get_default_field_name(data_type)
      fields = [
          {
              "name": vec_field_name,
              "type": data_type,
              "params": {"dim": dimension},
          },
          {"name": "id", "type": DataType.INT64, "is_primary": True},
      ]
      if other_fields:
          other_fields = other_fields.split(",")
          for other_field_name in other_fields:
              if other_field_name.startswith("int"):
                  field_type = DataType.INT64
              elif other_field_name.startswith("float"):
                  field_type = DataType.FLOAT
              elif other_field_name.startswith("double"):
                  field_type = DataType.DOUBLE
              else:
                  raise Exception(
                      "Create collection: Field name not supported"
                  )
              fields.append(
                  {"name": other_field_name, "type": field_type}
              )
      create_param = {"fields": fields, "auto_id": auto_id}
      try:
          self._milvus.create_collection(collection_name, create_param)
          logger.info(
              "Create collection: <%s> successfully" % collection_name
          )
      except Exception as e:
          logger.error(str(e))
          raise
  
imports: import random
  import logging
  import time
  from multiprocessing import Process
  from pymilvus import Milvus, DataType
  import utils
  import config
  from milvus_benchmark.runners import utils
label_desc: Use image node_id 6 for calling the MilvusClient obj's underlying member method code with example usage: obj.create_collection(dimension, data_type, auto_id, collection_name, other_fields) without return types