class_docstr: Blueprint for a task that asks humans to compare conversational outputs.
class_docstr_tok: ["Blueprint","for","a","task","that","asks","humans","to","compare","conversational","outputs","."]
docstr: ACUTE-Eval-specific argument checking.
  
  Ensure that the data can be properly loaded and that recommended worker settings
  are used.
docstr_tok: ["ACUTE-Eval-specific","argument","checking",".","Ensure","that","the","data","can","be","properly","loaded","and","that","recommended","worker","settings","are","used","."]
code: def assert_task_args(
      cls, args: DictConfig, shared_state: SharedTaskState
  ) -> None:
      """
      ACUTE-Eval-specific argument checking.
  
      Ensure that the data can be properly loaded and that recommended worker settings
      are used.
      """
      if args.blueprint.get("pairings_filepath", None) is not None:
          pairings_filepath = os.path.expanduser(
              args.blueprint.pairings_filepath
          )
          assert os.path.exists(
              pairings_filepath
          ), f"Provided file {pairings_filepath} doesn't exist"
      else:
          raise AssertionError(
              "Must provide one of a data csv, json, or a list of tasks"
          )
  
      if args.blueprint.block_on_onboarding_fail is True:
          if args.blueprint.get("block_qualification", None) is None:
              raise AssertionError(
                  "Must provide `block_qualification` to use `block_on_onboarding_fail`"
              )
  
      if args.task.get("maximum_units_per_worker", None) != 1:
          warn_once(
              "It is *strongly* recommended to use a "
              "args.task.maximum_units_per_worker value of 1, as was done in the "
              "ACUTE-Eval paper! Anything else will not provide consistent results "
              "as quoted there. Go to ParlAI's GitHub Discussion page if you'd "
              "like to discuss further."
          )
  
file_path: ParlAI/parlai/crowdsourcing/tasks/acute_eval/acute_eval_blueprint.py
imports: import os
  import math
  from dataclasses import dataclass, field
  from typing import ClassVar, List, Type, Any, Dict, Iterable, TYPE_CHECKING
  from mephisto.abstractions.blueprint import Blueprint, BlueprintArgs, SharedTaskState
  from mephisto.data_model.assignment import InitializationData
  from mephisto.operations.registry import register_mephisto_abstraction
  from omegaconf import MISSING, DictConfig
  from parlai.crowdsourcing.tasks.acute_eval.acute_eval_agent_state import AcuteEvalAgentState
  from parlai.crowdsourcing.tasks.acute_eval.acute_eval_builder import AcuteEvalBuilder
  from parlai.crowdsourcing.tasks.acute_eval.acute_eval_runner import AcuteEvalRunner
  from parlai.utils.misc import warn_once
label_desc: Use image node_id 1 for calling the AcuteEvalBlueprint obj's underlying member method code with example usage: obj.assert_task_args(cls, args, shared_state) without return types