class_docstr: Re-ranker object which uses a predictor model to rerank candidates given.
  
  This AbstractReranker can be subclassed to use any classifier or ranking model as
  the predictor.
class_docstr_tok: ["Re-ranker","object","which","uses","a","predictor","model","to","rerank","candidates","given",".","This","AbstractReranker","can","be","subclassed","to","use","any","classifier","or","ranking","model","as","the","predictor","."]
docstr: Use predictor to predict given augmented context.
  
  :param context:
      augmented context with response candidates
  :param predictor_label_candidates:
      optional array of label candidates to pass to the predictor
  
  :return output:
      return output from ranker act
docstr_tok: ["Use","predictor","to","predict","given","augmented","context",".",":","param","context",":","augmented","context","with","response","candidates",":","param","predictor_label_candidates",":","optional","array","of","label","candidates","to","pass","to","the","predictor",":","return","output",":","return","output","from","ranker","act"]
code: def predict(
      self, context: str, predictor_label_candidates: List[str]
  ) -> Message:
      """
      Use predictor to predict given augmented context.
  
      :param context:
          augmented context with response candidates
      :param predictor_label_candidates:
          optional array of label candidates to pass to the predictor
  
      :return output:
          return output from ranker act
      """
      assert isinstance(self.predictor, Agent)
      obs = Message({"text": context, "episode_done": True})
      obs["label_candidates"] = predictor_label_candidates
      self.predictor.observe(obs)
      act = self.predictor.act()
      assert isinstance(act, Message)
      return act
  
imports: import logging
  import torch
  from abc import ABC, abstractmethod, abstractclassmethod
  from typing import List, Optional, Tuple
  from parlai.agents.transformer.transformer import TransformerGeneratorAgent
  from parlai.core.agents import create_agent_from_model_file, Agent
  from parlai.core.build_data import modelzoo_path
  from parlai.core.message import Message
  from parlai.core.opt import Opt
  from parlai.core.params import ParlaiParser
  from parlai.core.torch_agent import TorchAgent
  from parlai.utils.strings import normalize_reply
  from parlai.utils.torch import argsort
  from parlai.agents.hugging_face.gpt2 import Gpt2Agent
  from projects.msc.agents.long_tga import TransformerVariantAgent
label_desc: Use image node_id 7 for calling the AbstractReranker obj's underlying member method code with example usage: obj.predict(context, predictor_label_candidates) and returns: act