code: def _get_config(
      graph_json: dict,
      params: RemoteTaskParams,
      client_params: dict,
      conn_params: dict,
  ):
      var_names = (
          list(map(str, params.var_names))
          if params.var_names is not None
          else []
      )
      train_data_idx = (
          list(map(str, params.train_data_idx))
          if params.train_data_idx is not None
          else []
      )
  
      data_name = params.dataset_name
      if conn_params is not None and conn_params:
          train_data = f"{client_params['container_input_path']}/data/{conn_params['DATA_ID']}/{data_name}.csv"
      else:
          train_data = (
              f"{client_params['container_input_path']}/{data_name}.csv"
          )
      return f"""[DEFAULT]
          pipeline_template = {graph_json}
          train_data = {train_data}
          task = {params.task_type}
          output_path = {client_params['container_output_path']}
          train_data_idx = {train_data_idx}
          var_names = {var_names}
          is_multi_modal = {params.is_multi_modal}
          target = {params.target}
          [OPTIONAL]
          """.encode(
          "utf-8"
      )
  
imports: import os
  from dataclasses import dataclass
  from typing import List, Optional, Sequence, Any, TypeVar, Callable, Hashable
  import numpy
  from golem.core.log import default_log
  from golem.core.optimisers.genetic.evaluation import DelegateEvaluator
  from golem.utilities.serializable import Serializable
  from fedot.core.data.data import InputData
  from fedot.remote.infrastructure.clients.client import Client
  from fedot.utilities.pattern_wrappers import singleton
label_desc: Use image node_id 3 for calling a global function with example usage: _get_config(graph_json, params, client_params, conn_params) and returns: str, graph_json, str, train_data, str, params, str, client_params, str, train_data_idx, str, var_names, str, params, str, params, str