code: def init_config_cli(
      # fmt: off
      output_file: Path = Arg(..., help="File to save the config to or - for stdout (will only output config and no additional logging info)", allow_dash=True),
      lang: str = Opt(InitValues.lang, "--lang", "-l", help="Two-letter code of the language to use"),
      pipeline: str = Opt(",".join(InitValues.pipeline), "--pipeline", "-p", help="Comma-separated names of trainable pipeline components to include (without 'tok2vec' or 'transformer')"),
      optimize: Optimizations = Opt(InitValues.optimize, "--optimize", "-o", help="Whether to optimize for efficiency (faster inference, smaller model, lower memory consumption) or higher accuracy (potentially larger and slower model). This will impact the choice of architecture, pretrained weights and related hyperparameters."),
      gpu: bool = Opt(InitValues.gpu, "--gpu", "-G", help="Whether the model can run on GPU. This will impact the choice of architecture, pretrained weights and related hyperparameters."),
      pretraining: bool = Opt(InitValues.pretraining, "--pretraining", "-pt", help="Include config for pretraining (with 'spacy pretrain')"),
      force_overwrite: bool = Opt(InitValues.force_overwrite, "--force", "-F", help="Force overwriting the output file"),
      # fmt: on
  ):
      """
      Generate a starter config file for training. Based on your requirements
      specified via the CLI arguments, this command generates a config with the
      optimal settings for your use case. This includes the choice of architecture,
      pretrained weights and related hyperparameters.
  
      DOCS: https://spacy.io/api/cli#init-config
      """
      pipeline = string_to_list(pipeline)
      is_stdout = str(output_file) == "-"
      if not is_stdout and output_file.exists() and not force_overwrite:
          msg = Printer()
          msg.fail(
              "The provided output file already exists. To force overwriting the config file, set the --force or -F flag.",
              exits=1,
          )
      config = init_config(
          lang=lang,
          pipeline=pipeline,
          optimize=optimize.value,
          gpu=gpu,
          pretraining=pretraining,
          silent=is_stdout,
      )
      save_config(config, output_file, is_stdout=is_stdout)
  
imports: import re
  from enum import Enum
  from pathlib import Path
  from typing import List, Optional, Tuple
  import srsly
  from jinja2 import Template
  from thinc.api import Config
  from wasabi import Printer, diff_strings
  from ..None import util
  from ..language import DEFAULT_CONFIG_PRETRAIN_PATH
  from ..schemas import RecommendationSchema
  from ..util import SimpleFrozenList
  from ._util import COMMAND, Arg, Opt, import_code, init_cli, show_validation_error, string_to_list
label_desc: Use image node_id 1 for calling a global function with example usage: init_config_cli(output_file, lang, pipeline, optimize, gpu, pretraining, force_overwrite) without return types