code: def _get_model_data(predictor_record, integraion_record):
      predictor_data = predictor_record.data or {}
      training_time = None
      if (
          predictor_record.training_start_at is not None
          and predictor_record.training_stop_at is None
          and predictor_record.status != "error"
      ):
          training_time = round(
              (
                  datetime.datetime.now()
                  - predictor_record.training_start_at
              ).total_seconds(),
              3,
          )
      elif (
          predictor_record.training_start_at is not None
          and predictor_record.training_stop_at is not None
      ):
          training_time = round(
              (
                  predictor_record.training_stop_at
                  - predictor_record.training_start_at
              ).total_seconds(),
              3,
          )
      predictor_meta = {
          "type": "model",
          "id": predictor_record.id,
          "engine": integraion_record.engine,
          "engine_name": integraion_record.name,
          "active": predictor_record.active,
          "version": predictor_record.version,
          "status": predictor_record.status,
          "accuracy": None,
          "predict": predictor_record.to_predict[0],
          "update_status": predictor_record.update_status,
          "mindsdb_version": predictor_record.mindsdb_version,
          "error": predictor_data.get("error"),
          "select_data_query": predictor_record.fetch_data_query,
          "training_options": predictor_record.learn_args,
          "deletable": True,
          "label": predictor_record.label,
          "current_training_phase": predictor_record.training_phase_current,
          "total_training_phases": predictor_record.training_phase_total,
          "training_phase_name": predictor_record.training_phase_name,
          "training_time": training_time,
      }
      if predictor_data.get("accuracies", None) is not None:
          if len(predictor_data["accuracies"]) > 0:
              predictor_meta["accuracy"] = float(
                  np.mean(list(predictor_data["accuracies"].values()))
              )
      return {
          "name": predictor_record.name,
          "metadata": predictor_meta,
          "created_at": predictor_record.created_at,
      }
  
imports: import datetime
  from typing import List
  from collections import OrderedDict
  import sqlalchemy
  import numpy
  from mindsdb_sql.parser.ast.base import ASTNode
  from mindsdb_sql import parse_sql
  from mindsdb.interfaces.storage import db
  from mindsdb.utilities.config import Config
  from mindsdb.interfaces.model.model_controller import ModelController
  from mindsdb.interfaces.database.views import ViewController
  from mindsdb.utilities.context import context
  from mindsdb.utilities.exception import EntityExistsError
  import mindsdb.utilities.profiler
label_desc: Use image node_id 11 for calling the Project obj's underlying member method code with example usage: obj._get_model_data(predictor_record, integraion_record) and returns: dict