code: def train_mse(uri_path: str = None):
      model = init_instance_by_config(CSI300_GBDT_TASK["model"])
      dataset = init_instance_by_config(CSI300_GBDT_TASK["dataset"])
      with R.start(experiment_name="workflow", uri=uri_path):
          R.log_params(**flatten_dict(CSI300_GBDT_TASK))
          model.fit(dataset)
          recorder = R.get_recorder()
          SignalRecord(
              recorder=recorder, model=model, dataset=dataset
          ).generate()
          sr = SignalMseRecord(recorder)
          sr.generate()
          uri = R.get_uri()
      return uri
  
file_path: qlib/tests/test_contrib_workflow.py
imports: from qlib.workflow.record_temp import SignalRecord
  import shutil
  import unittest
  import pytest
  from pathlib import Path
  from qlib.contrib.workflow import MultiSegRecord, SignalMseRecord
  from qlib.utils import init_instance_by_config, flatten_dict
  from qlib.workflow import R
  from qlib.tests import TestAutoData
  from qlib.tests.config import GBDT_MODEL, get_dataset_config, CSI300_MARKET
label_desc: Use image node_id 2 for calling a global function with example usage: train_mse(uri_path) and returns: uri