class_docstr: GPT2 with Retriever Model.
  
  A GPT2 model that receives documents from a retriever.
class_docstr_tok: ["GPT2","with","Retriever","Model",".","A","GPT2","model","that","receives","documents","from","a","retriever","."]
docstr: Override to build with IdentityLayer as Encoder.
docstr_tok: ["Override","to","build","with","IdentityLayer","as","Encoder","."]
code: def build_encoder(
      cls,
      opt: Opt,
      *args,
      dictionary: Optional[DictionaryAgent] = None,
      embedding: Optional[torch.nn.Embedding] = None,
      encoder_class: Optional[Type] = None,
      **kwargs,
  ):
      """
      Override to build with IdentityLayer as Encoder.
      """
      return FidModel.build_encoder(
          opt, dictionary, encoder_class=IdentityLayer, **kwargs
      )
  
imports: from typing import Optional, Type, Tuple, List, Dict, Any
  import torch
  import torch.nn
  from parlai.agents.fid.fid import FidModel, concat_enc_outs
  from parlai.agents.hugging_face.gpt2 import GPT2Decoder, Gpt2Agent
  from parlai.agents.rag.args import RetrieverType
  from parlai.agents.rag.modules import RagModel
  from parlai.agents.rag.retrievers import Document, BLANK_DOC, SearchQuerySearchEngineRetriever, retriever_factory, RagRetriever
  from parlai.core.dict import DictionaryAgent
  from parlai.core.opt import Opt
  import parlai.utils.logging
  from projects.seeker.agents.seeker_modules import ComboFidSearchQuerySearchEngineRetriever
  from projects.seeker.agents.seeker_modules import combo_fid_retriever_factory, interleave_fid_combo_outputs, ComboFidModel
label_desc: Use image node_id 3 for calling the GPT2WithRetrieverModel obj's underlying member method code with example usage: obj.build_encoder(cls, opt) and returns: FidModel