class_docstr: CreateFunctionStatement constructed after parsing the input query
  
  Attributes:
      name: str
          function_name provided by the user required
      if_not_exists: bool
          if true should throw an error if function with same name exists
          else will replace the existing
      inputs: List[ColumnDefinition]
          function inputs, represented similar to a table column definition
      outputs: List[ColumnDefinition]
          function outputs, represented similar to a table column definition
      impl_file_path: str
          file path which holds the implementation of the function.
          This file should be placed in the function directory and
          the path provided should be relative to the function dir.
      query: SelectStatement
          data source for the model train or fine tune.
      function_type: str
          function type. it can be object detection, classification etc.
      metadata: List[Tuple[str, str]]
          metadata, list of key value pairs used for storing metadata of functions, mostly used for advanced function types
code: def inputs(self, value):
      self._inputs = value
  
imports: from pathlib import Path
  from typing import List, Tuple
  from evadb.parser.create_statement import ColumnDefinition
  from evadb.parser.select_statement import SelectStatement
  from evadb.parser.statement import AbstractStatement
  from evadb.parser.types import StatementType
label_desc: Use image node_id 7 for calling the CreateFunctionStatement obj's underlying member method code with example usage: obj.inputs(value) without return types