code: def prepare_oasst(q: Q) -> Dataset:
      path = f"{get_data_dir(q)}/oasst"
      if os.path.exists(path):
          shutil.rmtree(path)
      os.makedirs(path, exist_ok=True)
      df = prepare_default_dataset_causal_language_modeling(path)
      cfg = load_config_py(
          config_path=os.path.join(
              "llm_studio/python_configs", default_cfg.cfg_file
          ),
          config_name="ConfigProblemBase",
      )
      cfg.dataset.train_dataframe = os.path.join(path, "train_full.pq")
      cfg.dataset.prompt_column = ("instruction",)
      cfg.dataset.answer_column = "output"
      cfg.dataset.parent_id_column = "None"
      cfg_path = os.path.join(path, f"{default_cfg.cfg_file}.yaml")
      save_config_yaml(cfg_path, cfg)
      dataset = Dataset(
          id=1,
          name="oasst",
          path=path,
          config_file=cfg_path,
          train_rows=df.shape[0],
      )
      return dataset
  
file_path: h2o-llmstudio/llm_studio/app_utils/initializers.py
imports: import logging
  import os
  import shutil
  from tempfile import NamedTemporaryFile
  from bokeh.resources import Resources
  from h2o_wave import Q, ui
  from llm_studio.app_utils.config import default_cfg
  from llm_studio.app_utils.db import Database, Dataset
  from llm_studio.app_utils.default_datasets import prepare_default_dataset_causal_language_modeling, prepare_default_dataset_dpo_modeling
  from llm_studio.app_utils.sections.common import interface
  from llm_studio.app_utils.setting_utils import load_user_settings_and_secrets
  from llm_studio.app_utils.utils import get_data_dir, get_database_dir, get_download_dir, get_output_dir, get_user_db_path, get_user_name
  from llm_studio.src.utils.config_utils import load_config_py, save_config_yaml
label_desc: Use image node_id 1 for calling a global function with example usage: prepare_oasst(q) and returns: dataset