class_docstr: LongRagAgent.
  
  The RAG Agent interacts with the RAG model mostly via it's RAG Model interface.
docstr: Add RAG Args.
code: def add_cmdline_args(
      cls, parser: ParlaiParser, partial_opt: Optional[Opt] = None
  ) -> ParlaiParser:
      """
      Add RAG Args.
      """
      RagAgent.add_cmdline_args(parser, partial_opt=None)
      TransformerGeneratorVariantRagAgent.add_cmdline_args(
          parser, partial_opt
      )
      parser.add_argument(
          "--generation-model",
          type=str,
          default="transformer_variant/generator",
          help="which generation model to use",
          choices=[
              "transformer_variant/generator",
              "transformer/generator",
              "bart",
              "t5",
          ],
      )
      parser.add_argument(
          "--max-memories",
          type=int,
          default=10,
          help="maximum amount of memories. ",
      )
      return parser
  
imports: import torch
  import torch.nn
  import torch.cuda
  from typing import Optional, Union, Type
  from parlai.core.dict import DictionaryAgent
  from parlai.core.opt import Opt
  from parlai.core.params import ParlaiParser
  from parlai.agents.fid.fid import Fid, FidModel, T5FidModel
  from parlai.agents.rag.rag import RagAgent, T5RagAgent, BartRagAgent, TransformerGeneratorRagAgent, RagModelInterface
  from parlai.agents.rag.modules import RagModel, RagEncoder
  from .long_tga import TransformerVariantAgent, ShiftInvariantForwardEmbeddingMixin
label_desc: Use image node_id 1 for calling the LongRagAgent obj's underlying member method code with example usage: obj.add_cmdline_args(cls, parser, partial_opt) and returns: parser