class_docstr: Blueprint for per turn evaluation method.
  
  This blueprint subclasses ModelChatBlueprint to provide logic for keeping track of
  how many more conversations are needed per model; this logic is not shared with
  other blueprints.
class_docstr_tok: ["Blueprint","for","per","turn","evaluation","method",".","This","blueprint","subclasses","ModelChatBlueprint","to","provide","logic","for","keeping","track","of","how","many","more","conversations","are","needed","per","model",";","this","logic","is","not","shared","with","other","blueprints","."]
docstr: Loads the appropriate model pair and sends it into bot agent.
docstr_tok: ["Loads","the","appropriate","model","pair","and","sends","it","into","bot","agent","."]
code: def _get_shared_models(self, args: "DictConfig") -> Dict[str, dict]:
      """
      Loads the appropriate model pair and sends it into bot agent.
      """
  
      with open(args.blueprint.model_opt_path) as f:
          all_model_opts = yaml.safe_load(f.read())
  
      active_model_opts = {}
      for model_pair in self.conversations_needed:
          for model, opt in all_model_opts.items():
              if (
                  model in model_pair.split(":")
                  and self.conversations_needed[model_pair] > 0
              ):
                  active_model_opts[model] = opt
  
      return PerTurnEvalTurkLikeAgent.get_bot_agents(
          args=args, model_opts=active_model_opts
      )
  
file_path: ParlAI/parlai/crowdsourcing/tasks/pairwise_per_turn_eval/per_turn_eval_blueprint.py
imports: import os
  import yaml
  from dataclasses import dataclass, field
  from typing import Dict, TYPE_CHECKING
  from mephisto.abstractions.blueprint import SharedTaskState
  from mephisto.operations.registry import register_mephisto_abstraction
  from omegaconf import DictConfig
  from parlai.crowdsourcing.tasks.model_chat.model_chat_blueprint import ModelChatBlueprint, ModelChatBlueprintArgs, BaseModelChatBlueprint
  from parlai.crowdsourcing.tasks.pairwise_per_turn_eval.bot_agent import PerTurnEvalTurkLikeAgent
label_desc: Use image node_id 5 for calling the PerTurnEvalBlueprint obj's underlying member method code with example usage: obj._get_shared_models(args) and returns: PerTurnEvalTurkLikeAgent