class_docstr: T5 For RAG.
code: def build_decoder(
      cls,
      opt: Opt,
      *args,
      embedding: Optional[torch.nn.Embedding] = None,
      n_positions: Optional[int] = None,
      decoder_class: Optional[Type] = None,
      **kwargs,
  ):
      return RagModel.build_decoder(
          opt,
          decoder=opt["t5"].get_decoder(),
          decoder_class=ParlaiT5Decoder,
          **kwargs,
      )
  
imports: import torch
  import torch.cuda
  import torch.nn
  import torch.nn.functional
  from typing import Any, Tuple, Dict, Optional, List, Union, Type
  from parlai.agents.hugging_face.t5 import ParlaiT5Encoder, ParlaiT5Decoder, build_t5, set_device
  from parlai.agents.transformer.modules import TransformerEncoder, TransformerDecoder, get_n_positions_from_options, create_embeddings
  from parlai.core.dict import DictionaryAgent
  from parlai.core.opt import Opt
  from parlai.core.torch_generator_agent import TorchGeneratorModel
  from parlai.utils.torch import padded_tensor
  from parlai.agents.rag.retrievers import RagRetriever, retriever_factory, Document
label_desc: Use image node_id 3 for calling the T5RagModel obj's underlying member method code with example usage: obj.build_decoder(cls, opt) and returns: RagModel