code: def update_evaluator(self, in_file: str):
      hypothesises = []
      contexts = []
      refs = []
      with open(in_file) as _f:
          for line in _f:
              jline = json.loads(line)
              h_chain = ReasoningSteps(line=jline["gpt-3"])
              context = ReasoningSteps(
                  line=jline["premise"] + " " + jline["hypothesis"]
              )
              if "gsm8k" in in_file:
                  context = ReasoningSteps(line=jline["premise"])
                  h_chain = ReasoningSteps(
                      line=jline["gpt-3"], type="gsm8k_hypo"
                  )
                  r_chain = ReasoningSteps(
                      line=jline["hypothesis"], type="gsm8k_ref"
                  )
                  refs.append(r_chain)
              hypothesises.append(h_chain)
              contexts.append(context)
              if "esnli" in in_file:
                  r_chain = ReasoningSteps(
                      line=jline["explanation_1"]
                      + " "
                      + jline["explanation_2"]
                      + " "
                      + jline["explanation_3"]
                  )
                  refs.append(r_chain)
      super().set_hypos(hypothesises)
      super().set_context(contexts)
      super().set_references(refs)
  
file_path: ParlAI/projects/roscoe/roscoe.py
imports: import json
  import os
  from typing import List
  from nltk.tokenize import sent_tokenize
  from projects.roscoe.score import SEQ_EMB_MODEL_TYPES, Chain, Evaluator, REASONING_SCORES, UNSUPERVISED_SCORES, SENT_TRANS
  from projects.roscoe.utils import print_and_reset_max_gpu_memory, save_scores, split_gsm8k_gpt3_generations_to_steps
  from parlai.core.params import ParlaiParser
label_desc: Use image node_id 2 for calling the ReasoningEvaluator obj's underlying member method code with example usage: obj.update_evaluator(in_file) without return types